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

  • Initiateur de la discussion Initiateur de la discussion trekkeur50
  • 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 !

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
 
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.
 
Je ne vois pas comment Windows(Nom).Activate peut marcher, un nom de fichier sans extension provoque toujours une erreur. Bizarre.
Mais comme je joue avec XL2007 ... peut être y a t-il une subtilité avec 365 qui m'échappe. 🙂
 
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.
 
- 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

Discussions similaires

Retour