Macro excel vba et copier coller entre onglets

Résolu
ThierryH Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
ThierryH Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour
Je débute avec Excel et j'aimerai créer la macro suivante:
Dans un classeur j'ai plusieurs onglets avec 6 colonnes identique qui sont réactualisés automatiquement chaque jours avec des nouvelles lignes.
Je souhaite sélectionner chaque ligne de chaque onglet si la colonne A est non vide et coller les données à la suite dans un nouveau onglet pour faire un onglet de synthèse.
Merci pour votre aide.
Thierry.
A voir également:

4 réponses

ThierryH Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour et merci pour ton aide
J'ai copié et collé la macro mais ça ne fonctionne pas
Pour Information les onglets sont nommés "Mag01" "Mag12" "Mag36" Etc ...
et les 6 colonnes sont "A B C D E et F"
Je dois copier les lignes non vides de chaque onglet dans un onglet de synthèse que j'ai bien nommé "Synthèse"
Les lignes doivent se compiler de cet onglet avec toujours les 6 colonnes "A B C D E et F"
Encore merci pour ton aide
0
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
mets ton tichier ou une copie de ton fichier sur cjoint.com.
Il y a peut être des choses à adapter.

tes onglets commencent à la ligne 1 par exemple?
0
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
en plus, y a une toute petite erreur,

la bonne macro à copier :


sub copiercoller ()

dim a,f, i , j as variant

a = application.sheets.count ' compte le nombre de feuille
j=1

for f= 1 to a 'ce qu'elle fera sur tous les onglets
if sheets(f).name <> "Synthèse" then 'avant de lancer la macro, pense à créer une feuille nommée synthèse, car si la feuille ne s'appelle pas synthèse alors
do while sheets(f).cells(i,1) <> "" 'tant que la cellule de la ligne i colonne 1 de la feuille f contient une donnée
Sheets(f).Rows(i).Copy Sheets("Synthèse").Rows(j) 'alors on copie la ligne de la feuille f de la ligne i dans la feuille synthèse ligne j
i=i+1
j=j+1
loop
end if
next
end sub
0
ThierryH Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup pour ton aide
Je viens de déposer mon fichier Excel sous cjoint
Thierry

https://www.cjoint.com/?3GFmvXviLto
0
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
0
ThierryH Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup tu es vraiment sympa
Thierry
0
melanie1324 Messages postés 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
bonjour,

voici la macro :

sub copiercoller ()

dim a,f, i , j as variant

a = application.sheets.count ' compte le nombre de feuille
j=1

for f= 1 to a 'ce qu'elle fera sur tous les onglets
if sheets(f).name <> "Synthèse" then 'avant de lancer la macro, pense à créer une feuille nommée synthèse, car si la feuille ne s'appelle pas synthèse alors
do while sheets(f).cells(i,1) <> "" 'tant que la cellule de la ligne i colonne 1 de la feuille f contient une donnée
Sheets(f).Rows(i).Copy Sheets("Synthèse").Rows(j) 'alors on copie la ligne de la feuille f de la ligne i dans la feuille synthèse ligne j
i=i+1
loop
end if
next
end sub
-1