Copier cellules de 41 feuilles sur 1 autre feuille si A vide

Bonjour,

J'ai zero experience en VBA et une petite de excel...

J'ai un fichier qui comporte 41 feuilles de region differentes toutes constituées des memes lignes et colonnes seul les resultats changent.

Je voudrai reunir toutes les informations sur une seule.

Donc pour cela qu'il copie toutes les cellules de A8:EN8 de toutes les feuilles et dés qu'une des feuilles presentent une cellule vide en A (A etant compris de A8 à A40), il passe a la suivante.


Oups et pardon, je voudrai que le tout se mette continuellement à jour, si quelqu'un peut m'aider, ou me former (je lui souhaite du courage, mais ça m'interesserait encore plus)

D'avance merci !!

Bonjour et bienvenue sur le forum

Un essai avec 5 feuilles qui devrait marcher avec 40...

A tester.

Te convient-il ?

22essai-v1.xlsm (115.51 Ko)

Bonjour,

Et avant tout merci de t'interesser à mon probleme.

Le code ne fonctionne pas quand je le copie sur mon fichier, je pense que les feuilles ne sont pas definis de la meme façon. Pourrais tu ajouter des commentaires sur le code VBA, afin que j'essaye de le comprendre et donc que je puisse le modifier et m'en resservir?

De l'autre coté sur ton fichier Essaie V1 il semble qu'il copie plusieurs fois les memes lignes donc il semblerait qu'il y est une erreur.

Je te joins une copie du fichier (avec seulement 2 feuilles ça passé pas) sur lequel je travaille, Il faudrait donc que toutes les données rentrées par pays (Feuille 1 à 41) pour l'année en cours donc ligne 8 à 29 sur celui la, se retrouve sur la feuille Données source 1 afin que je puisse enssuite analyser le tout.

Sachant que si il y a une erreur de saisie et que je me suis pas trompé pour le moment le code pays ne s'affiche pas.

Cordialement.

14essaie-v3-vba.xlsm (267.18 Ko)

Nouvel essai.

A tester.

22essaie-v4-vba.xlsm (236.11 Ko)

la ça fonctionne trés bien, trop bien...

Puisque comme j'ai beaucoup plus de feuilles que les feuilles pays qui m'interessent il me les copies toutes.

Alors si j'essaye de me coucher moins bete ce soir et que j'ai bien compris:

F defini la variable des feuilles

For Each F In worksheet est la boucle qui permet de chercher dans toutes les feuilles.

Hors celles ci sont ordonées, j'essaye donc de trouver une solution pour que F soit definie seulement dans les feuilles 1 à 41

Ou dois je toutes les nommées et informer que F est definie par la feuille "pays 1", "pays 2" etc...?

Dans tous les cas merci beaucoup car il reste plus qu'a affiner...

Tu écris :

celles ci sont ordonées, j'essaye donc de trouver une solution pour que F soit definie seulement dans les feuilles 1 à 41

Alors à la place de :

For Each f In Worksheets
…
Next F

tu peux écrire :

For i= 1 To 41
    Set F = Sheets(i)
…
Next i

Sans rien changer d’autre.

Mais si au milieu se glisse une autre feuille cela risque de buguer !, même si la feuille est masquée !

Et si tu ajoutes la feuille d’un pays de plus, il te faudra modier la macro pour écrire 42 à la place de 41.

Peut-être serait-il préférable que tu aies une feuille, appelée « Pays » par exemple, sur laquelle serait la liste de tous les pays qui font l’objet d’une feuille. Et la macro viendrait faire sa boucle en lisant les noms des feuilles sur cette liste que tu pourrais alors compléter ou modifier sans toucher à la macro.

Bye !

J'ai essayé en rajoutant une condition AND si par exemple les feuilles pays je note un 1 en case A1, impossible ca passe pas.

J'ai essayé ce que tu me proposes sans jamais y arriver à croire que le VBA n'est vraiment pas pour moi.

La seule solution que j'ai trouvé est d'inserer une colonne A dans toutes les feuilles qui ne sont pas des feuilles Pays et de laisser la colonnes A vide.... loool (ne pas se moquer, on fait se que l'on peut) et la ça marche, mais c limite.

J'essayerai ta solution et te tiens au courant, car pourtant je crois que meme si tu rajoutes des feuilles elles sont numérotés dans l'ordre de leurs creations et non pas par leurs positions... Donc ce qui pourrait fonctionner.

Merci !

Variante avec liste :

25essaie-v5-vba.xlsm (240.06 Ko)

Genial tout marche nickel, merci beaucoup....

Rechercher des sujets similaires à "copier feuilles feuille vide"