Copier/Coller les onglet VBA
Résolu
zizou026
Messages postés
101
Date d'inscription
Statut
Membre
Dernière intervention
-
zizou026 Messages postés 101 Date d'inscription Statut Membre Dernière intervention - 25 août 2021 à 18:48
zizou026 Messages postés 101 Date d'inscription Statut Membre Dernière intervention - 25 août 2021 à 18:48
A voir également:
- Copier/Coller les onglet VBA
- Historique copier-coller android - Guide
- Copier coller pdf - Guide
- Copier-coller - Accueil - Informatique
- Symbole clavier copier coller - Guide
- Style d'écriture a copier coller - Guide
4 réponses
Bonjour,
pour copier une plage de cellule:
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.copy
pour trouver la dernière ligne:
https://excel-malin.com/tutoriels/vba-tutoriels/vba-trouver-la-derniere-cellule-utilisee/
et pour la couleur:
https://www.excel-pratique.com/fr/vba/couleurs
ce qui donne :
affecter cette macro à un raccourci clavier, car le bouton ce n'est pas judicieux car les données copiées vont se trouver sur cette feuille!
Voilà
pour copier une plage de cellule:
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.copy
pour trouver la dernière ligne:
https://excel-malin.com/tutoriels/vba-tutoriels/vba-trouver-la-derniere-cellule-utilisee/
et pour la couleur:
https://www.excel-pratique.com/fr/vba/couleurs
ce qui donne :
Option Explicit Sub test() Dim DerniereLigneUtilisee As Long Dim DerniereCellule_Adresse DerniereCellule_Adresse = Worksheets("Feuil1").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlFormulas).Address(RowAbsolute:=False, ColumnAbsolute:=False) Worksheets("Feuil1").Range("A1:" & DerniereCellule_Adresse).Copy _ Destination:=Worksheets("Report").Range("A1") DerniereCellule_Adresse = Worksheets("Report").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlFormulas).Address(RowAbsolute:=False, ColumnAbsolute:=False) Range("A1:" & DerniereCellule_Adresse).Font.ColorIndex = 41 'bleu clair DerniereLigneUtilisee = Worksheets("Report").Range("A" & Rows.Count).End(xlUp).Row + 1 DerniereCellule_Adresse = Worksheets("Feuil2").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlFormulas).Address(RowAbsolute:=False, ColumnAbsolute:=False) Worksheets("Feuil2").Range("A2:" & DerniereCellule_Adresse).Copy _ Destination:=Worksheets("Report").Range("A" & DerniereLigneUtilisee) DerniereCellule_Adresse = Worksheets("Report").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlFormulas).Address(RowAbsolute:=False, ColumnAbsolute:=False) Range("A" & DerniereLigneUtilisee & ":" & DerniereCellule_Adresse).Font.ColorIndex = 10 ' vert DerniereLigneUtilisee = Worksheets("Report").Range("A" & Rows.Count).End(xlUp).Row + 1 DerniereCellule_Adresse = Worksheets("Feuil3").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlFormulas).Address(RowAbsolute:=False, ColumnAbsolute:=False) Worksheets("Feuil3").Range("A2:" & DerniereCellule_Adresse).Copy _ Destination:=Worksheets("Report").Range("A" & DerniereLigneUtilisee) DerniereCellule_Adresse = Worksheets("Report").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlFormulas).Address(RowAbsolute:=False, ColumnAbsolute:=False) Range("A" & DerniereLigneUtilisee & ":" & DerniereCellule_Adresse).Font.ColorIndex = 40 ' marron clair End Sub 'https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.copy 'https://www.excel-pratique.com/fr/vba/couleurs 'https://excel-malin.com/tutoriels/vba-tutoriels/vba-trouver-la-derniere-cellule-utilisee/
affecter cette macro à un raccourci clavier, car le bouton ce n'est pas judicieux car les données copiées vont se trouver sur cette feuille!
Voilà
Bonjour,
avez-vous essayé de passer par l'enregistreur de macro ? Et ensuite rattacher celle-ci à votre bouton...
avez-vous essayé de passer par l'enregistreur de macro ? Et ensuite rattacher celle-ci à votre bouton...
Sans abuser de ta gentillesse, je souhaite une information que je ne comprends pas.
Ta formule fonctionne parfaitement BIEN. Lorsque je l'ai adapté à mon tableau sur deux onglets l'un est correctement copier (avec toutes les informations) par contre l'autre ne prend que les deux premiers colonne.
Je ne comprends pas le problème (les deux onglets sont extraites à partir d'un macro, penses-tu qu'il y a incidence?
Par avance, je te remercie de ton aide.
Cordialement,
Azis
Je t'ai mis le code avec les commentaires pour l'adapter;
Voilà
@+ Le Pivert
Il ne veut pas et reprend toujours 2 colonnes. Au lieu qu'il cherche la dernière cellule automatiquement, peut-on définir de copier de A à L?
Bien à toi,
Zizou
OUI en consultant le lien donné post3:
pour copier une plage de cellule:
à+
J'ai repris la formule du post3, ça reprends les données de A à L mais seulement 3 lignes de A1 à A3.
Par contre, j'ai gardé ta formule pour l'onglet Feuil2 et Feuil3 qui fonctionnent impeccablement.
Merci pour ta patience et ton aide, je te souhaite une excellente soirée.
Cordialement,
Zizou