Microsoft 365 VBA Une meme Macro fonctionne sur un pc et pas l'autre ????

trekkeur50

XLDnaute Junior
Bonjour,
La macro ci dessous fonctionne tres bien sur mon PC fixe alors qu'elle ne fonctionne pas sur mon PC portable .c'est le meme fichier issu de onedrive.
Cela bloque a la derniere ligne (voir ci dessous).La fonction ne reconnait pas le nom de ma variable
Incomprehensible pour moi
Si vous avez une idée ?
merci


Sub Implant4T()
'
' Implant4T Macro

'Creation nouveau fichier

Nom = InputBox("Entrer le nom du fichier à integrer dans Y2: ", "Création du fichier cible")
Workbooks.Add.SaveAs Filename:=ThisWorkbook.Path & "\" & Nom & ".csv", FileFormat:=xlCSV _
, CreateBackup:=False, Local:=True

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Copier les ENTETES
Range("A1").Select
ActiveCell.FormulaR1C1 = "Constante"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Code article"
Range("C1").Select
ActiveCell.FormulaR1C1 = "Code taille"
Range("D1").Select
ActiveCell.FormulaR1C1 = "Code couleur"
Range("e1").Select
ActiveCell.FormulaR1C1 = "Code depot"
Range("f1").Select
ActiveCell.FormulaR1C1 = "Qté mini"

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'COPIER LES VALEURS
'Copier les valeurs de la 1ere ligne code depot
Windows("NS Min.xlsm").Activate
ActiveSheet.Range("g14", ActiveSheet.Range("G14").End(xlDown)).Select
Selection.Copy
Windows(Nom).Activate J'ai un message indiquant erreur Erreur d'execution 9
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Trekkeur,
Ce qui est étonnant c'est que ça marche sur un de vos PC.
La ligne Windows(Nom).Activate me semble érronée.
Après test sur mon PC j'ai la même Erreur 9, car Nom ne définit pas le nom du fichier.
J'ai éssayé avec : Windows(Nom & ".csv").Activate et il n'y a plus d'erreur.
 

MFoxy

XLDnaute Nouveau
Bonjour,

Ça peut fonctionner sans extension Sylvanu, c'est une question de paramètres Windows, affichage ou non de l'extension dans le nom du fichier, mais le fait d'ajouter par défaut l'extension fonctionnera dans les deux cas de figure et évitera le souci.

Par contre l'utilisation des .select, .activate n'est à utiliser que dans de très rare cas et souvent source d'erreur et de ralentissement du code.

Il est toujours préférable de travailler en indiquant la parentalite de ses objets.
 

Discussions similaires

Statistiques des forums

Discussions
312 115
Messages
2 085 453
Membres
102 890
dernier inscrit
selkis