Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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.
 
Bonjour sylvanu,
je vais appliquer votre solution.
Mais en effet ca me semble fou.Et j'ai transféré le fichier a des collegues avec qui ca marche très bien.
Il y a forcement qq chose de rationnel mais quoi ?
 
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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…