Copy colle cellules selon conditions

montiti

XLDnaute Nouveau
Bonjour à tous,

Je viens de m'apercevoir que j'avais posté mon message sur le mauvais Item veuillez m'en excuser. J'espère ne pas faire de doublon.

Je suis débutant en VBA et voici mon problème :

j'ai le même tableau sur 29 onglets (29 sites)

col A nom
col B prenom
col C sexe
col D age
col E catégorie
30ème onglet récap des 29 feuilles à savoir

si Catégorie = FID alors copier contenu des cellules A et D de la ligne correspondante vers onglet récap
la même chose avec les 29 onglets

Merci pour votre aide
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Copy colle cellules selon conditions

Bonjour montiti, et bienvenue sur le forum

tu aurais pu mettre un fichier exemple en pièce jointe, ça m'aurait évité de tout construire

voir fichier joint

à+
Philippe
 

Pièces jointes

  • 111.xls
    39 KB · Affichages: 66
  • 111.xls
    39 KB · Affichages: 64
  • 111.xls
    39 KB · Affichages: 65

Robert

XLDnaute Barbatruc
Repose en paix
Re : Copy colle cellules selon conditions

Bonjour Montiti, bonjour le forum,

Peut-être comme ça :
Code:
Sub Macro1()
Dim o As Worksheet 'déclare la variable o (Onglet)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (DESTination)
 
'si tu dois effacer au préalablement les aciennes valeurs décommente la lign en dessous
'Sheets("récap").Range("A2").CurrentRegion.ClearContents
 
For Each o In Sheets ' boucle 1 : sur tous les onglets du classeur
    If o.Name <> "récap" Then 'condition 1 : si le nom de l'onglet est différent de "récap"
       ' boucle 2 : sur toutes les cellules éditées cel de la colonne E de cet onglet
        For Each cel In o.Range("E2:E" & o.Range("E65536").End(xlUp).Row)
            If cel.Value = "FID" Then ' condition 2 : si la valeur de la cellule est "FID"
                'définit la cellule de destination dest dans l'onglet récap
                Set dest = Sheets("récap").Range("A65536").End(xlUp).Offset(1, 0)
                o.Range(o.Cells(cel.Row, 1), o.Cells(cel.Row, 4)).Copy dest 'copie et colle les 4 cellules
            End If ' fin de la condition 2
        Next cel 'prochaine cellule de la boucle 2
    End If ' fin de la condition 1
Next o 'prochain onglet de la boucle 1
End Sub

Edition :

Bonjour Philippe on s'est croisé... Ma connexion est tellement lente aussi !
 
Dernière édition:

montiti

XLDnaute Nouveau
Re : Copy colle cellules selon conditions

Bonjour montiti, et bienvenue sur le forum

tu aurais pu mettre un fichier exemple en pièce jointe, ça m'aurait évité de tout construire

voir fichier joint

à+
Philippe

Bonjour et merci pour ta réponse. J'avais joins le fichier mais cela n'a pas fonctionné il faisait plus de 48 ko même chose pour le tien je ne peux le renvoyer excuse moi.

Cela fonctionne à merveille. Sauf que j'ai oublié un détail, dans la feuille récap je rajoute des colonnes avec des infos.
Lorsque j'insère un nouveau nom dans une des feuilles les infos des nouvelles colonnes disparaissent. Peux-tu faire quelque chose ? Merci beaucoup
 

montiti

XLDnaute Nouveau
Re : Copy colle cellules selon conditions

Bonsoir Robert,

Merci pour ton aide. J'ai testé la macro, géniale ! Par contre petit souci, si je modifie une des feuilles que je lance la macro j'ai les noms en double dans la récap peut-on l'éviter ? merci. De plus dans la récap j'ai rajouté des colonnes est-ce un problème
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Copy colle cellules selon conditions

Re,
Bonjour et merci pour ta réponse. J'avais joins le fichier mais cela n'a pas fonctionné il faisait plus de 48 ko même chose pour le tien je ne peux le renvoyer excuse moi.
Pour envoyer le fichier, tu peux le zipper pour qu'il soit moins lourd
Cela fonctionne à merveille. Sauf que j'ai oublié un détail, dans la feuille récap je rajoute des colonnes avec des infos.
Lorsque j'insère un nouveau nom dans une des feuilles les infos des nouvelles colonnes disparaissent. Peux-tu faire quelque chose ? Merci beaucoup
elles ne disparaissent pas, c'est tout simplement la macro qui n'a pas été prévue pour aller les rechercher parce que ta question initiale n'en parle pas

Pour mieux comprendre tes souhaits, pourrais-tu mettre un fichier en pièce jointe; il n'est pas besoin d'avoir le fichier complet, seules la feuille récap ( avec au minimum les titres des colonnes) et deux autres feuilles qui contiennent quelques infos ( positionnées aux mêmes endroit que sur ton fichier final)

et

REexpliquer clairement ce qui va devoir se retrouver sur la feuille récap

à+
Philippe
 

montiti

XLDnaute Nouveau
Re : Copy colle cellules selon conditions

Re,Pour envoyer le fichier, tu peux le zipper pour qu'il soit moins lourdelles ne disparaissent pas, c'est tout simplement la macro qui n'a pas été prévue pour aller les rechercher parce que ta question initiale n'en parle pas

Pour mieux comprendre tes souhaits, pourrais-tu mettre un fichier en pièce jointe; il n'est pas besoin d'avoir le fichier complet, seules la feuille récap ( avec au minimum les titres des colonnes) et deux autres feuilles qui contiennent quelques infos ( positionnées aux mêmes endroit que sur ton fichier final)

et

REexpliquer clairement ce qui va devoir se retrouver sur la feuille récap

à+
Philippe

Merci pour ton aide. Je te joins le fichier, j'espère avoir été claire
bonne journée
 

Pièces jointes

  • bilan.xls
    40.5 KB · Affichages: 52
  • bilan.xls
    40.5 KB · Affichages: 62
  • bilan.xls
    40.5 KB · Affichages: 58

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Copy colle cellules selon conditions

Re,
la remarque sur ta feuille:
sur la feuille récap je récupére les données des colonnes
A D F puis j'insère les fonctions recherchev() pour les autres colonnes
Pour A & D, d'accord, pour F (il n'y a rien sur l'autre feuille)où faut-il mettre cette info
ici reherchev() vers fichier salariés.xls
....
ici reherchev() vers fichier adhérents.xls
ça va, y'en a pas d'autres ??? :rolleyes:

au moment de la création de la formule ( il faut que les 3 fichiers soient ouverts), il te suffit de "voyager" d'un fichier à l'autre et selectionner les cellules concernées; ta formule sera alors correcte
parce que( une fois de plus) ça manque d'infos pour les autres fichiers

à+
Philippe
 

montiti

XLDnaute Nouveau
Re : Copy colle cellules selon conditions

Mille excuses, je me suis trompé de colonne c'est E et non pas F. Je joins le fichier adhérents pour exemple.

merci


Re,
la remarque sur ta feuille:pour A & D, d'accord, pour F (il n'y a rien sur l'autre feuille)où faut-il mettre cette infoça va, y'en a pas d'autres ??? :rolleyes:

au moment de la création de la formule ( il faut que les 3 fichiers soient ouverts), il te suffit de "voyager" d'un fichier à l'autre et selectionner les cellules concernées; ta formule sera alors correcte
parce que( une fois de plus) ça manque d'infos pour les autres fichiers

à+
Philippe
 

Pièces jointes

  • Desktop.zip
    27.8 KB · Affichages: 30
  • Desktop.zip
    27.8 KB · Affichages: 30
  • Desktop.zip
    27.8 KB · Affichages: 30

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Copy colle cellules selon conditions

Re,
je viens d'ouvrir les 2 fichiers


voici pour la formule à mettre en M1 ( et à recopier vers le bas):
=RECHERCHEV(A2;[ADHERENTS.xls]Feuil1!$A$2:$C$16;3;0)

pour les autres recherches, je ne sais pas encore t'aider vu que je n'ai pas le fichier " salariés.xls"

et les colonnes F , G & H, elle seront alimentées par quoi ????????

à+
Philippe
 

montiti

XLDnaute Nouveau
Re : Copy colle cellules selon conditions

Re, merci encore

en colonne F ce sont les catégories que l'on va chercher sur les autres onglets en colonne E (car j'ai rajouté en col E de recap "intitué form" (et pas N° SS) qui sera là encore une recherchev() là je maîtrise ouf ! en G et H des données saisies au fur et à mesure.

Merci encore
 

Discussions similaires

Statistiques des forums

Discussions
312 392
Messages
2 087 999
Membres
103 691
dernier inscrit
christophe89