Aléger un programme ...

  • Initiateur de la discussion Initiateur de la discussion super_tyty
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

super_tyty

Guest
Bonsoir tlm,
Je suis nouveau dans le forum, j'y viens depuis quelques jours pour puiser dans ces ressources si riches lol.

Au boulot, nous récuperons une base de donnée et nous la retravaillons. Dans mon soucis de faire un document final propre et presentable, je définis quelques paramettres d'impressions qui me paraissent très lourd (vu le temps d'execution par rapport au reste) ...


With ActiveSheet.PageSetup
.LeftHeader = _
"&""Arial,Italic""&9Bruno&""Arial,Regular""&10 &""Arial,Bold""&12&P / &N"
.RightHeader = "&D"
.LeftFooter = "&""Arial,Italic""&8Sandvik / Assystem France"
.CenterHorizontally = True
.Zoom = 90
End With


Peut on aléger ce programme ?

Par avance merci

Cordialement
Super_TyTy

PS: j'aurai d'autres questions par la suite, si vous pouvez m'éclairer, elles reste assez basique je pense.
 
Re : Aléger un programme ...

Bonjour, et bienvenue sur le forum
si tu imprimes tout le temps la même feuille, plus besoin de redéfinir ta mise en page, celle-ci sera conservée.

Et non ...
C'est des extraits de nomenclature à vrai dire, donc son contenu change en fonction des codes articles (c'est à dire, je n'ai jamais la meme nomenclature)...
 
Re : Aléger un programme ...

Re, re bhbh


Voila j'ai retrouvé le post en question

Lien supprimé

Et c'était Fred65200

Voir le lien indiqué dans son message

et faire également une recherche sur:
Application.ExecuteExcel4Macro "PAGE.SETUP
 
Re : Aléger un programme ...

Très bien merci pour cette réponse je vais mis pencher dessus (Pour le moment je n'arrive pas à l'appliquer mais patience !)

Sinon j'ai un soucis, et je n'arrive pas à le corriger ... c'est un peu enervant à force. Je nettoye un peu mes données par des "remplacer par", mais ils ne s'appliquent pas à ma colonne selectionnée, elle se répercute de partout, c'est un peu génant ...

Que pensez vous de ca :

[D😀].Select
With Selection
.Replace What:="ADAPTOR", Replacement:="FITTING"
.Replace What:="ADAPTER", Replacement:="FITTING"
.Replace What:="FITTING TEE", Replacement:="TEE FITTING"
.Replace What:="swivel nut elbow 90", Replacement:="90° fitting"
.Replace What:="straight thread fitting", Replacement:="straight fitting"
.Replace What:="Disk spring", Replacement:="WASHER"
.Replace What:="Socket head screw (full thread)", Replacement:="SCREW CHC M"
.Replace What:="Socket head screw", Replacement:="SCREW CHC M"
.Replace What:="taper pin", Replacement:="EXPANDABLE PIN"
.Replace What:="(hydraulic)", Replacement:=""
.Replace What:="sign", Replacement:="LABEL"
.Replace What:="decal", Replacement:="LABEL"
.Replace What:="stainless steel", Replacement:="HW"
.Replace What:="Hexagon head screw (full thread)", Replacement:="SCREW H M"
.Replace What:="Hexagon head bolt (half thread)", Replacement:="BOLT M"
.Replace What:="Hexagon ", Replacement:=""
.Replace What:="Double lock washer", Replacement:="WASHER D: NORD LOCK"
End With

PS: dsl pour le smiley
 
Re : Aléger un programme ...

Re, re bhbh


Voila j'ai retrouvé le post en question

Lien supprimé

Et c'était Fred65200

Voir le lien indiqué dans son message

et faire également une recherche sur:
Application.ExecuteExcel4Macro "PAGE.SETUP

Au risque de parraitre idiot, je n'arrive pas à utiliser les données qui sont sur le site meme brut, car modifié par mes soins ca ne marche pas mieux ...
Mon cas est déespéré ?
 
Re : Aléger un programme ...

Re

Pour répondre à ta question sur Replace


Voici une autre façon de faire
(ici c'est la colonne A qui est traiter)

Code:
Sub test()
Dim TabSRC() As Variant
Dim i As Long
TabSRC = Array("ADAPTOR", "ADAPTER", "FITTING TEE", "swivel nut elbow 90", "straight thread fitting", "Disk spring", "Socket head screw (full thread)", "Socket head screw", "taper pin", "(hydraulic)", "sign", "decal", "stainless steel", "Hexagon head screw (full thread)", "Hexagon head bolt (half thread)", "Hexagon ", "Double lock washer")
TabREP = Array("FITTING", "FITTING", "TEE FITTING", "90° fitting", "straight fitting", "WASHER", "SCREW CHC M", "SCREW CHC M", "EXPANDABLE PIN", "", "LABEL", "LABEL", "HW", "SCREW H M", "BOLT M", "", "WASHER D: NORD LOCK")
For Each cell In Range("A1:A" & [A65536].End(xlUp).Row)
For i = LBound(TabSRC) To UBound(TabSRC)
If cell.Value = TabSRC(i) Then
cell.Value = TabREP(i)
End If
Next i
Next
End Sub

Je te laisse tester sur une COPIE (soyons prudents) de ton fichier.
 
Re : Aléger un programme ...

Re

Pour répondre à ta question sur Replace


Voici une autre façon de faire
(ici c'est la colonne A qui est traiter)

Code:
Sub test()
Dim TabSRC() As Variant
Dim i As Long
TabSRC = Array("ADAPTOR", "ADAPTER", "FITTING TEE", "swivel nut elbow 90", "straight thread fitting", "Disk spring", "Socket head screw (full thread)", "Socket head screw", "taper pin", "(hydraulic)", "sign", "decal", "stainless steel", "Hexagon head screw (full thread)", "Hexagon head bolt (half thread)", "Hexagon ", "Double lock washer")
TabREP = Array("FITTING", "FITTING", "TEE FITTING", "90° fitting", "straight fitting", "WASHER", "SCREW CHC M", "SCREW CHC M", "EXPANDABLE PIN", "", "LABEL", "LABEL", "HW", "SCREW H M", "BOLT M", "", "WASHER D: NORD LOCK")
For Each cell In Range("A1:A" & [A65536].End(xlUp).Row)
For i = LBound(TabSRC) To UBound(TabSRC)
If cell.Value = TabSRC(i) Then
cell.Value = TabREP(i)
End If
Next i
Next
End Sub

Je te laisse tester sur une COPIE (soyons prudents) de ton fichier.

Les variable ne sont pas toutes déclaré visiblement
exemple:

Dim TabREP() As Variant

Mais je suis pas un pro, il me pose le meme probleme sur "cell", c'est normal ?
Dans :

For Each cell In Range("A1:A" & [A65536].End(xlUp).Row)
 
Re : Aléger un programme ...

Salut
Bonsoir le fil
Bonsoir le Forum

arff moi j'aurai mis
Columns(4).Select
tu Peux aussi affiner en ne sélectionnant que la partie ou il y a des données
Code:
With Worksheets("Feuil1")
  With .Range("D2:D" & .Range("D65536").End(xlUp).Row)
    .Replace "ADAPTOR","FITTING"
    Etc .........
    Etc .........
  End With
End With
en espérant avoir pu t'aider
Bonne fin de Soirée
 
Re : Aléger un programme ...

Salut
Bonsoir le fil
Bonsoir le Forum

arff moi j'aurai mis
Columns(4).Select
tu Peux aussi affiner en ne sélectionnant que la partie ou il y a des données
Code:
With Worksheets("Feuil1")
  With .Range("D2:D" & .Range("D65536").End(xlUp).Row)
    .Replace "ADAPTOR","FITTING"
    Etc .........
    Etc .........
  End With
End With
en espérant avoir pu t'aider
Bonne fin de Soirée

Et des deux quelles solution est la plus rapide ?
 
Re : Aléger un programme ...

Re


Testes les deux macros

et dis-nous laquelle est la plus rapide 😉



Il manquait quoi d'autre, stp?


A vrai dire, on voit pas trop la difference de rapidité ... lol mais je prefere la solution de notre ami, ca éviter de déclarer tout un tas de variable, j 'en ai déjà pas mal dans mes autres bout de programme.



Dim TabSRC() As Variant
Dim Cell As Range
Dim TabREP() As Variant
Dim x As Long
Dim i As Integer

TabSRC = Array("ADAPTOR", "ADAPTER", "FITTING TEE", "swivel nut elbow 90", "straight thread fitting", "Disk spring", "Socket head screw (full thread)", "Socket head screw", "taper pin", "(hydraulic)", "sign", "decal", "stainless steel", "Hexagon head screw (full thread)", "Hexagon head bolt (half thread)", "Hexagon ", "Double lock washer", "rondelle")
TabREP = Array("FITTING", "FITTING", "TEE FITTING", "90° fitting", "straight fitting", "WASHER", "SCREW CHC M", "SCREW CHC M", "EXPANDABLE PIN", "", "LABEL", "LABEL", "HW", "SCREW H M", "BOLT M", "", "WASHER D: NORD LOCK", "washer")
For Each Cell In Range("D1😀" & [A65536].End(xlUp).Row)
For x = LBound(TabSRC) To UBound(TabSRC)
If Cell.Value = TabSRC(i) Then
Cell.Value = TabREP(i)
End If
Next x
Next
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

P
Réponses
6
Affichages
1 K
Pieerre69
P
Réponses
5
Affichages
1 K
M
  • Question Question
Réponses
0
Affichages
1 K
Mirguy23
M
C
Réponses
5
Affichages
2 K
C
Réponses
6
Affichages
1 K
Retour