Macro pour copier colonne avec condition
Résolu
Koalacid
Messages postés
70
Date d'inscription
Statut
Membre
Dernière intervention
-
Koalacid Messages postés 70 Date d'inscription Statut Membre Dernière intervention -
Koalacid Messages postés 70 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un essai de macro qui me permet de copier une colonne venant d'un fichier excel "Update Vol Prev" vers un second fichier Excel "Prévision_Vol_A Cube" et ça à la suite de ce qui a déjà été copié précédemment.
Voici le code:
J'ai pris une partie du code sur ce forum et j'ai tenté de l'adapter mais lorsque j'exécute le code il me met:
"erreur 424,
objet requis"
Et la ligne surlignée en jaune est la suivante:
Alors ma question est: que se passe-t-il? :D
J'avais essayé ce code en faisant le copier coller sur le même fichier et tout allait très bien. Mais ä partir du moment où le copier/coller concerne deux fichiers excel, ça ne va plus...
Je remercie d'avance celui qui pourra m'aider sur ce problüme j'en suis sûr très bête mais quand on apprend sur le tas, c'est moins évident. :)
Cordialement,
J'ai un essai de macro qui me permet de copier une colonne venant d'un fichier excel "Update Vol Prev" vers un second fichier Excel "Prévision_Vol_A Cube" et ça à la suite de ce qui a déjà été copié précédemment.
Voici le code:
Sub Macro1()
'Öffnen A
Workbooks.Open Filename:="Prévision_Vol_A Cube", UpdateLinks:=0
'Update Vol Prev
Windows("Update Vol Prev").Activate
Sheets("Retrieve Top 27 Month").Activate.Range("C7:C86").Copy
Windows("Prévision_Vol_A Cube").Activate
Worksheets("Vol Total Month").Range("DZ8").End(xlToLeft)(1, 2).Select
ActiveSheet.Paste
Application.CutCopyMode = False
'Schließen von file A
Workbooks("Prévision_Vol_A Cube").Close SaveChanges:=False
End Sub
J'ai pris une partie du code sur ce forum et j'ai tenté de l'adapter mais lorsque j'exécute le code il me met:
"erreur 424,
objet requis"
Et la ligne surlignée en jaune est la suivante:
Sheets("Retrieve Top 27 Month").Activate.Range("C7:C86").Copy
Alors ma question est: que se passe-t-il? :D
J'avais essayé ce code en faisant le copier coller sur le même fichier et tout allait très bien. Mais ä partir du moment où le copier/coller concerne deux fichiers excel, ça ne va plus...
Je remercie d'avance celui qui pourra m'aider sur ce problüme j'en suis sûr très bête mais quand on apprend sur le tas, c'est moins évident. :)
Cordialement,
A voir également:
- Macro pour copier colonne avec condition
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel cellule couleur si condition texte - Guide
- Colonne word - Guide
4 réponses
Bonjour
Essaie de scinder ta ligne ainsi :
Sheets("Retrieve Top 27 Month").Activate
Sheets("Retrieve Top 27 Month").Range("C7:C86").Copy
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
Essaie de scinder ta ligne ainsi :
Sheets("Retrieve Top 27 Month").Activate
Sheets("Retrieve Top 27 Month").Range("C7:C86").Copy
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
Alors j'ai retravailler sur cette macro, elle fonctionne maintenant, il n'y a plus de message d'erreur. Par contre ä part l'ouverture et fermeture des fichiers, rien d'autre ne se passe. -_-
Voici le nouveau code:
Cordialement
Voici le nouveau code:
Sub Macro1()
'Öffnen A
Workbooks.Open Filename:="Prévision_Vol_A Cube", UpdateLinks:=0
'Update Vol Prev
Windows("Update Vol Prev").Activate
Sheets("Retrieve Top 27 Month").Activate
Sheets("Retrieve Top 27 Month").Range("C7:C86").Copy
Windows("Prévision_Vol_A Cube").Activate
Sheets("Vol Total Month").Activate
Sheets("Vol Total Month").Range("FZ6").End(xlToLeft)(1, 2).Select
ActiveSheet.Paste
Application.CutCopyMode = False
'Schließen von file A
Workbooks("Prévision_Vol_A Cube").Close SaveChanges:=False
End Sub
Cordialement
Je ne la comprends pas bien non plus
En fait ce que tu veux c'est trouver la dernier colonne remplie d'une ligne précise pour coller à la suite
donc
Worksheets("Vol Total Month").select 'pour selectionner la feuille
Dim DernCol As Integer
DernCol = Worksheets.("Vol Total Month")Range("D4").End(xlToRight).Column 'pour trouver la dernière colonne remplie à partir de D4 (adapter cette ref à ton fichier)
cells(4,derncol+1).select ' pour selectionner la 1ere cellule vide en ligne 4 (changer le n° de ligne si necessaire)
Cdlmnt
En fait ce que tu veux c'est trouver la dernier colonne remplie d'une ligne précise pour coller à la suite
donc
Worksheets("Vol Total Month").select 'pour selectionner la feuille
Dim DernCol As Integer
DernCol = Worksheets.("Vol Total Month")Range("D4").End(xlToRight).Column 'pour trouver la dernière colonne remplie à partir de D4 (adapter cette ref à ton fichier)
cells(4,derncol+1).select ' pour selectionner la 1ere cellule vide en ligne 4 (changer le n° de ligne si necessaire)
Cdlmnt
Non, la colonne à copier sera toujours la même. Par contre c'est l'endroit où elle va être copiée qui change.
Par contre la suite de ce que tu as écrit convient mais je ne comprend pas trop la syntaxe parce que t'as rajouté un commentaire. Du coup j'ai un peu tout essayé, au final je suis revenu sur le code vu plus haut:
Celui-ci marche parfaitement.
Par contre la suite de ce que tu as écrit convient mais je ne comprend pas trop la syntaxe parce que t'as rajouté un commentaire. Du coup j'ai un peu tout essayé, au final je suis revenu sur le code vu plus haut:
Sub Macro1()
'Öffnen A
Workbooks.Open Filename:="Prévision_Vol_A Cube", UpdateLinks:=0
'Update Vol Prev
Windows("Update Vol Prev").Activate
Sheets("Retrieve Top 27 Month").Activate
Sheets("Retrieve Top 27 Month").Range("C7:C86").Copy
Windows("Prévision_Vol_A Cube").Activate
Sheets("Vol Total Month").Activate
Sheets("Vol Total Month").Range("FZ6").End(xlToLeft)(1, 2).Select
ActiveSheet.Paste
Application.CutCopyMode = False
'Schließen von file A
Workbooks("Prévision_Vol_A Cube").Close SaveChanges:=True
End Sub
Celui-ci marche parfaitement.
Merci pour ta rapidité.
J'ai scindé la ligne comme tu l'as dit mais apparemment ce n'était pas la seule erreur, la ligne suivante est fausse:
avec le message d'erreur suivant:
"Erreur 1004
La méthode Select de la classe Range a echoué"
Cordialement,
De mon incompröhension doit venir l'erreur parce que j'ai bêtement recopié cette ligne. Que signifie-t-elle?