Ma macro fonctionne différemment sur le PC de ma collègue
Bonjour à tous !
Je fais face à un bug inédit avec une macro VBA que j'ai créée : par moments elle fonctionne différemment sur le PC de ma collègue par rapport au mien (mais pas systématiquement).
En gros, l'erreur se fait sur la ligne de code ci-dessous, qui est censée remplacer les cases de la colonne G qui contiennent "20" par "A SUPPRIMER" :
Selection.Replace What:="20", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cette ligne de code fonctionne systématiquement sur mon PC, et fonctionnait également sur le PC de mon ancien collègue. Mais sur le PC de sa remplaçante, parfois cette ligne fonctionne correctement, et parfois non. Quand elle ne fonctionne pas correctement, elle remplace les données de toute la feuille, et non pas celles de la colonne G uniquement.
Est-ce que vous avez déjà rencontré un bug similaire ? Avez-vous une idée de ce à quoi ça peut être dû (paramétrage d'Excel, version différente d'Excel, manipulation différente du fichier) ?
Merci pour votre aide !
bonjour,
peux-tu nous mettre a minima tout le code de la macro ?
sur base du bout de code que tu as mis, le replacement se fait sur toutes les cellules sélectionnées. Tout dépend donc de comment se fait cette sélection de cellules. Est-elle automatique ? est-elle manuelle ?( dans ce dernier cas, c'est l'explication : les cellules sélectionnées ne sont pas correctes).
Voici le code de la fonction (si ce n'est pas suffisant pour cerner le problème, n'hésitez pas à me le dire et je mettrai le code complet) :
Function Typo_naming()
' Permet de remplacer les Sub typo par des libellé définis
Sheets("Insérer la data ici").Select
Dim i As Integer
'Copie-colle les combinaisons typo-subtypo en valeurs
Columns("G:G").Select
Selection.Copy
Range("G1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Attribue les noms de typo corrects en fonction de la combinaison Typ Subtypo
Range("G:G").Activate
Selection.Replace What:="480", Replacement:="INITIAL ORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="500", Replacement:="INITIAL ORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5076", Replacement:="REORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5077", Replacement:="REORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5080", Replacement:="INITIAL ORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="510", Replacement:="INITIAL ORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5176", Replacement:="REORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5177", Replacement:="REORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5180", Replacement:="INITIAL ORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5263", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5461", Replacement:="OUTLET", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5462", Replacement:="OUTLET", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="520", Replacement:="RMR ORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5210", Replacement:="RMR ORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5296", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="20", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5165", Replacement:="REORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="560", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5463", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5169", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5252", Replacement:="RMR ORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5410", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="561", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5277", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="790", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="564", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="540", Replacement:="OUTLET", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5151", Replacement:="REORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5192", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5175", Replacement:="INITIAL ORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="230", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="570", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="571", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="10", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5776", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5766", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="890", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="30", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5765", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="11", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="6965", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5278", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="640", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5230", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5A SUPPRIMER", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5476", Replacement:="OUTLET", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="2A SUPPRIMER", Replacement:="A SUPPRIMER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5464", Replacement:="OUTLET", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5276", Replacement:="INITIAL ORDER", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Selection.Replace What:="5292", Replacement:="OUTLET", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
'Reprend la bonne mise en forme pour le titre et indique quelle colonne il faudra supprimer
Call Matrice_test
End Function
Merci
Bonjour
je voie pas la colonne G
a voir
Columns(7).Replace What:="20", Replacement:="A SUPPRIMER", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=FalseA+
Maurice
La colonne G est sélectionnée avec cette ligne juste avant la série de selection.replace :
Range("G:G").Activate
Est-ce qu'il faut que je répète cette ligne de code avant chaque selection.replace ?
Merci !
bonjour,
Remplace cette instruction Range("G:G").Activate par range("G:G").select pour pouvoir utiliser selection. correctement par après.
Merci beaucoup ! Je vais tester avec ma collègue quand elle sera dispo et je vous dirai si ça fonctionne !
Bonjour à tous ! Ma collègue a testé la macro ce matin et elle a fonctionné !
En espérant que ça fonctionne à tous les coups désormais.
Merci beaucoup pour votre aide !!
bonjour,
merci pour ce retour.