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.
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
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
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
Il y a peut être des choses à adapter.
tes onglets commencent à la ligne 1 par exemple?
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