Répéter une macro de copier/coller
younes38
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
ThauTheme Messages postés 1442 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
Je bloque depuis peu sur une macro que j'aimerais réalisé. Etant débutant en macro, j'ai un peu bricolé avec tout ce que j'ai pu trouver pour faire quelquechose mais le résultat n'est pas correct.
J'explique mon problème:
Je souhaite d'un classeur A (CEB_final) copier plusieurs cellules à un classer B (Essai_opt_1)
puis du fichier B copier d'autres cellules vers des cellules du classeur B.
jusque là pas de problème sauf que quand je boucle pour réitérer cette opération sur plusieurs lignes Excel ne m'affiche le copier collé que pour la premiere et dernier ligne.
Si quelqu'un pouvait m'aider ce serait super sympa
Ci-dessous mon code:
Sub
Dim i As Long
Dim DerniereLigne As Long
DerniereLigne = Range("B65536").End(xlUp).Row
For i = 6 To DerniereLigne
'Selection des données Input pour ligne 1
Windows("CEB_final.xlsx").Activate
Sheets("IRWST").Range("K:P" & DerniereLigne).Select
Selection.Copy
Windows("ESSAI_opt_1.xlsm").Activate
Range("E:J" & DerniereLigne).Select
Next iActiveSheet.Paste
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SmallScroll Down:=-6
End Sub
Je bloque depuis peu sur une macro que j'aimerais réalisé. Etant débutant en macro, j'ai un peu bricolé avec tout ce que j'ai pu trouver pour faire quelquechose mais le résultat n'est pas correct.
J'explique mon problème:
Je souhaite d'un classeur A (CEB_final) copier plusieurs cellules à un classer B (Essai_opt_1)
puis du fichier B copier d'autres cellules vers des cellules du classeur B.
jusque là pas de problème sauf que quand je boucle pour réitérer cette opération sur plusieurs lignes Excel ne m'affiche le copier collé que pour la premiere et dernier ligne.
Si quelqu'un pouvait m'aider ce serait super sympa
Ci-dessous mon code:
Sub
Dim i As Long
Dim DerniereLigne As Long
DerniereLigne = Range("B65536").End(xlUp).Row
For i = 6 To DerniereLigne
'Selection des données Input pour ligne 1
Windows("CEB_final.xlsx").Activate
Sheets("IRWST").Range("K:P" & DerniereLigne).Select
Selection.Copy
Windows("ESSAI_opt_1.xlsm").Activate
Range("E:J" & DerniereLigne).Select
Next iActiveSheet.Paste
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.SmallScroll Down:=-6
End Sub
A voir également:
- Répéter une macro de copier/coller
- Historique copier coller - Guide
- Copier coller pdf - Guide
- Copier-coller - Accueil - Informatique
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Style d'écriture a copier coller - Guide
4 réponses
bonsoir Younes, bonsoir le forum,
Pas très clair tout ça... Ni tes explications ni ton code plutôt incohérent.
Je pense qu'avec deux fichiers exemple montrant ce que tu as avant et ce que tu voudrais après, ce serait clair pour tout le monde...
Pas très clair tout ça... Ni tes explications ni ton code plutôt incohérent.
Je pense qu'avec deux fichiers exemple montrant ce que tu as avant et ce que tu voudrais après, ce serait clair pour tout le monde...
Bonjour
En attendant les Fichiers comme te l'a demandé Thautheme (bonjour) il doit manquer l'effectation de la variable "i" dans ton code
ne serait ce pas ça:
Mais effectivemment, ton code est incohérent
Thautheme, je te laisse le bébé ;o)
Michel
En attendant les Fichiers comme te l'a demandé Thautheme (bonjour) il doit manquer l'effectation de la variable "i" dans ton code
ne serait ce pas ça:
For i = 6 To DerniereLigne
'Selection des données Input pour ligne 1
Windows("CEB_final.xlsx").Activate
Sheets("IRWST").Range("K:P" & DerniereLigne).Select
Selection.Copy
Windows("ESSAI_opt_1.xlsm").Activate
Range("E:J" & DerniereLigne).Select
Range("K" & i & ":P" & DerniereLigne).
Mais effectivemment, ton code est incohérent
Thautheme, je te laisse le bébé ;o)
Michel
Bonjour,
Merci pour votre réponse les amis, je ne peux pas vous laisser de documents joints car je suis soumis à une clause de confidentialité.
Je me suis en effet trompé dans mon code: le next devrait être en avant dernière ligne. Sinon concernant l'incohérence de mon code, c'est normal, c'est un code que j'ai bricolé à travers ce que j'ai pu trouver et comprendre un peu sur les forums...
comme je l'ai dit, je souhaite d'un classeur A (CEB_final) copier plusieurs cellules à un classer B (Essai_opt_1), les cellules copiées sont les cellules de K à P de la dernière 6ème ligne à la dernière.
Ces valeurs copiées vont me permettre de lancer un calcul dans le fichier B, puis, une fois le calcul effectué, j'aimerais exporter les résultats obtenus vers les classeur A et les coller de la colonne Q à T du second classeur.
j'ai plusieurs centaines de lignes du coup j'aimerais créer une boucle qui me fait ce "copié/collé" autant de lignes qu'il y a c'est pour cela que je commence par calculer le nombre de lignes
Merci pour votre réponse les amis, je ne peux pas vous laisser de documents joints car je suis soumis à une clause de confidentialité.
Je me suis en effet trompé dans mon code: le next devrait être en avant dernière ligne. Sinon concernant l'incohérence de mon code, c'est normal, c'est un code que j'ai bricolé à travers ce que j'ai pu trouver et comprendre un peu sur les forums...
comme je l'ai dit, je souhaite d'un classeur A (CEB_final) copier plusieurs cellules à un classer B (Essai_opt_1), les cellules copiées sont les cellules de K à P de la dernière 6ème ligne à la dernière.
Ces valeurs copiées vont me permettre de lancer un calcul dans le fichier B, puis, une fois le calcul effectué, j'aimerais exporter les résultats obtenus vers les classeur A et les coller de la colonne Q à T du second classeur.
j'ai plusieurs centaines de lignes du coup j'aimerais créer une boucle qui me fait ce "copié/collé" autant de lignes qu'il y a c'est pour cela que je commence par calculer le nombre de lignes
Si je comprend ton souci tu veux copier les valeurs des colonnes K à P de la 6° ligne à la dernière sur l'autre classeur colonnesE à J. a partir de la 6° ligne
Si c'est bien cela pas besoin d'une boucle!
Tu dis....
E à J: 5 colonnes..... K à P: 6 colonnes ????
par exemple
Si c'est bien cela pas besoin d'une boucle!
Tu dis....
E à J: 5 colonnes..... K à P: 6 colonnes ????
par exemple
Dim DerniereLigne As Long, Tablo
DerniereLigne = Range("B65536").End(xlUp).Row
Windows("CEB_final.xlsx").Activate
Tablo = Sheets("IRWST").Range("K6:P" & DerniereLigne)
Windows("ESSAI_opt_1.xlsm").Activate
ActiveSheet.Range("E6").Resize(UBound(Tablo), 6) = Tablo
Bonjour le fil, bonjour le forum,
Bonjour Michel.
L'excuse des données confidentielles est inacceptable ! Rien ne t'empêche de confectionner deux fichiers avec des données bidons reflétant ton problème... Mais c'est vrai, ça demande un peu de travail et tu ne sembles préférer que ce soit les autres qui bossent pour toi...
Au lieu de résoudre ton problème en une seule réponse, ton fil va s'éterniser. Je passe la main...
Bonjour Michel.
L'excuse des données confidentielles est inacceptable ! Rien ne t'empêche de confectionner deux fichiers avec des données bidons reflétant ton problème... Mais c'est vrai, ça demande un peu de travail et tu ne sembles préférer que ce soit les autres qui bossent pour toi...
Au lieu de résoudre ton problème en une seule réponse, ton fil va s'éterniser. Je passe la main...