Bug macro
renoncule62
-
soulsy Messages postés 2939 Statut Membre -
soulsy Messages postés 2939 Statut Membre -
Bonjour,
je souhaite coller une plage de cellules dans un autre classeur dans lequel j'aurais ajouté un nouvel onglet.
Certainement mon manque de connaissance mais mon code ci-dessous ne fonctionne pas et s'arréte sur Range("C2").Select et je ne omprend pas pourquoi.
Si je suprime cette instruction, ça fonctionne...
Merci de votre aide et explications
je souhaite coller une plage de cellules dans un autre classeur dans lequel j'aurais ajouté un nouvel onglet.
Certainement mon manque de connaissance mais mon code ci-dessous ne fonctionne pas et s'arréte sur Range("C2").Select et je ne omprend pas pourquoi.
Si je suprime cette instruction, ça fonctionne...
Private Sub CommandButton1_Click()
Range("B2:B7").Select
Selection.Copy
Application.Workbooks.Open "D:\essai.xls"
Dim ajoutonglet As Worksheet
Set ajoutonglet = Sheets.Add(After:=Sheets(Sheets.Count))
ajoutonglet.Name = "newonglet"
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Merci de votre aide et explications
A voir également:
- Bug macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Bug chromecast - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Iptv bug ✓ - Forum TV & Vidéo
7 réponses
Bonjour,
Peut-être qu'il faut définir sur quelle feuille la commande doit s'appliquer avec la commande suivante : Worksheets("Sheet1").Activate ?
Peut-être qu'il faut définir sur quelle feuille la commande doit s'appliquer avec la commande suivante : Worksheets("Sheet1").Activate ?
Bonjour,
Merci pour ton intervention soulsy mais j'avais déjà éssayé cela de cette façon:
mais la macro s'arrete toujours sur Range("C2").Select, je ne comprend pas ??
Merci pour ton intervention soulsy mais j'avais déjà éssayé cela de cette façon:
Range("B2:B7").Select
Selection.Copy
Application.Workbooks.Open "D:\essai.xls"
Dim ajoutonglet As Worksheet
Set ajoutonglet = Sheets.Add(After:=Sheets(Sheets.Count))
ajoutonglet.Name = "newonglet"
Worksheets("newonglet").Activate
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
mais la macro s'arrete toujours sur Range("C2").Select, je ne comprend pas ??
Bonsoir,
En fait je crois que c'est l'ordre des opérations qui ne va pas, si tu essayes de le faire manuellement ça ne marche pas. Excel perd ce qu'il a copié au moment où tu dis de sélectionner la cellule C2.
Je pense qu'il faut le faire dans cette ordre :
Ouvrir ton fichier essai
Activer la cellule C2
Copier les données du 1er classeur (en l'activant peut-être avec Workbooks("...").Activate ?)
Coller les données sur ton classeur essai.xls (sans rien sélectionner avant l'opération de collage et surement en activant le classeur)
Je sais pas si j'ai été clair et peut-être qu'il y a un moyen plus "élégant" de contourner ça.
En fait je crois que c'est l'ordre des opérations qui ne va pas, si tu essayes de le faire manuellement ça ne marche pas. Excel perd ce qu'il a copié au moment où tu dis de sélectionner la cellule C2.
Je pense qu'il faut le faire dans cette ordre :
Ouvrir ton fichier essai
Activer la cellule C2
Copier les données du 1er classeur (en l'activant peut-être avec Workbooks("...").Activate ?)
Coller les données sur ton classeur essai.xls (sans rien sélectionner avant l'opération de collage et surement en activant le classeur)
Je sais pas si j'ai été clair et peut-être qu'il y a un moyen plus "élégant" de contourner ça.
Bonsoir Soulsy,
J'ai essayé ta suggestion comme ci-dessous mais rien n'y fait et la macro s'arrete toujours sur Range("C2").Select Grrr.... je ne comprend vraiment pas pourquoi.
merci pour ton intervention
J'ai essayé ta suggestion comme ci-dessous mais rien n'y fait et la macro s'arrete toujours sur Range("C2").Select Grrr.... je ne comprend vraiment pas pourquoi.
merci pour ton intervention
Private Sub CommandButton1_Click()
Application.Workbooks.Open "D:\essai.xls"
Dim ajoutonglet As Worksheet
Set ajoutonglet = Sheets.Add(After:=Sheets(Sheets.Count))
ajoutonglet.Name = "newonglet"
Range("C2").Select
Workbooks("source.xls").Activate
Range("B2:B7").Select
Selection.Copy
Workbooks("essai.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci à toi Soulsy pour ton implication.
Je ne comprend vraiment pas, j'ai tout reconstruit avec de nouveaux fichiers et le code ci dessus mais ça ne fonctionne toujours pas, le fichier "essai" s'ouvre, l'onglet "newonglet" est bien créé mais la cellule "c2" n'est pas sélectionnée et la macro bloque à ce stade.
Chez toi les valeurs sont collées dans "essai" de c2 à c7 ?? et le classeur "essai"est fermé et sauvegardé ??
Je ne comprend vraiment pas, j'ai tout reconstruit avec de nouveaux fichiers et le code ci dessus mais ça ne fonctionne toujours pas, le fichier "essai" s'ouvre, l'onglet "newonglet" est bien créé mais la cellule "c2" n'est pas sélectionnée et la macro bloque à ce stade.
Chez toi les valeurs sont collées dans "essai" de c2 à c7 ?? et le classeur "essai"est fermé et sauvegardé ??
Bonjour,
Pas de message d'erreur, la macro s'arrete et surligne Range("C2").Select ??
chez toi le fichier enregistre et ferme??
Pas de message d'erreur, la macro s'arrete et surligne Range("C2").Select ??
chez toi le fichier enregistre et ferme??