VBA - Copier des cellules en fonction d'une autre

Bonjour à vous tous.

Je reprends le secretariat d'une association, qui n'a jamais eut de fichier excel correct, je compte tout reprendre pour avoir quelque chose de propre.

pour mon problème, je dispose d'un classeur ayant plusieurs feuilles.

une feuille (Database) celle ci contiendra toutes les information des membres de l'association en général.

Les 3 autres feuilles derrières sont les groupes dans l'association.

Le numéro du membre est attribué en fonction de son groupe.

J'aimerais créé un bouton dans chaque feuille de mise à jour des données.

Lorsque je cliquerai sur ce bouton j'aimerais qu'il puisse faire ceci :

Si (numéro de membre) de la feuille Database = Numéro de membre de la feuille GAP

Alors copier valeur cellule d'a coté (B.....) de la feuille database en cellule G.... du numéro de membre correspondant dans la feuille GAP ou autre feuille.

J’espère que je suis assez clair ....

J'ai essayé pleins de choses

Sub Rangecopy() .....

mais a chaque fois je n'arrive à rien, je vous envoie un fichier exemple que je réadapterais sur le vrai.

Merci de votre aide

22membre-asso.xlsm (12.24 Ko)

Bonjour,

J'ai l'impression que tu te compliques beaucoup la vie ...

Pourquoi ne pas utiliser un filtre ...???

Dans le fichier joint .... la sélection des ' GAP ' ....

28membre-asso.xlsm (11.98 Ko)

Bonjour merci pour la réponse

car la je vous ai envoyé un fichier allégé et anonyme, le vrai fichier contient beaucoup plus de donnée et son utilisation de tout les jours ne me conviendra pas avec un système de filtre...

Merci en tout cas pour votre réponse. Mais je préférerais avoir un bouton pour intégrer les données nécessaires d'une feuille à l'autre.

Re,

Entre nous deux ... la taille de ton fichier réel n'a pas d'influence sur le Filtre ...

Cela dit si tu as vraiment d'un bouton pour créer autant de feuilles que tes types : GAP, DAC, TRE

Je te conseille d'ajouter une colonne Type avec cette donnée dans ta Database ...

Ensuite... ce sera un jeu d'enfants de faire ' exploser ' le tout en sous-groupes . ..

Ma plus grosse problématique en fait est sur cette fameuse copie en VBA.

Je n'y arrive pas, a faire un module qui dit si la cellule A4 de database contient 4-001 comme dans la feuille GAP en A5 par exemple alors les donnée databse B4 = G5 de GAP C4 = D5 etc etc....

JE n'arrive pas à l'exprimer correctement pourriez vous m'aider?

Je veux vraiment passer par un bouton car en faisant des formules avec INDEX EQUIV etc je sais que c'est possible mais là j'ai envie de faire différemment je sais que ça peut paraître compliqué, mais ça me sera aussi utile pour après les autres feuilles avec la tenue des comptes etc.... merci

Ma plus grosse problématique en fait est sur cette fameuse copie en VBA.

Je n'y arrive pas, a faire un module qui dit si la cellule A4 de database contient 4-001 comme dans la feuille GAP en A5 par exemple alors les donnée databse B4 = G5 de GAP C4 = D5 etc etc....

JE n'arrive pas à l'exprimer correctement pourriez vous m'aider?

Re,

Ne te tracasses pas avec cette question ...

Est-ce-que ta base de données contient déjà le Type ou pas encore ...???

16membre-asso.xlsm (12.48 Ko)

oui

Re,

Entendu ...

Ci-joint ton fichier test en Version 2 ....

En espèrant que cela t'aide ...

46membre-asso-v2.xlsm (23.35 Ko)

Merci, non ce n'est pas ca...

Il faudrait que dans GAP il n'y est que les membres de GAP ceux contenant le numero 1-001 .....

etc... car après j'aurais besoin d'impirmer uniquement GAP par exemple, et seul les membres de GAP devront apparaitre... avec certaines données précise et pas d'autres....

Re,

Je ne sais pas si je me suis exprimé clairement ou pas ... sans doute pas ...

Il te suffit d'avoir le Type correctement renseigné ... et tout doit fonctionner ...!!!

De mon côté, j'ai inventé une règle pour te montrer, dans un brouillon, comment le champ Type fonctionne ...

Non ca ne fonctionne pas... je me retrouve avec GAP etc qui sont rempli avec tout les champs pas dans l'ordre que je désire et avec le filtre.

je ne sais pas si je m'exprime bien.

Désolé ...

J'ai oublié d'ajuster tes titres ....

Ci-joint ton fichier corrigé ...

356membre-asso-v3.xlsm (23.55 Ko)

super, là déjà les données sont au bon endroit, mais dans mon fichier data base et dans les autre les colonnes ne sont pas au même endroit, comment puis je faire pour que les valeurs de la colonne B se retrouve en G sur les autres etc etc .

Merci

Re,

Content que cela fonctionne ...

Concernant la cosmétique de l'ordre des colonnes ... le plus rationnel est de modifier ta Base de Données une fois pour toutes ...

pour que les Colonnes soient bien dans ton ordre ... et, du coup, tu n'auras plus rien à faire ...

Je comprend bien, mais mon soucis est que je ne dois pas faire apparaitre tout les champs, et les autres tableaux devront avoir d'autres colonnes que je rajouterais avec des userform...

c'est pour pleins de raisons pratiques que j'ai ces contraintes.... ce n'est pas moi qui les imposent.

Aurais tu une solution à cela?

Re,

Crois-moi pour construire un Userform ... tu n'as pas besoin de modifier l'ordre des colonnes

Mais cela dit ... Si tu veux obligatoirement faire du rafistolage ...

Une fois que ta macro a produit tous les onglets dont tu as besoin ...

tu lances une seconde macro qui joue ' le jeu des chaises musicales ' avec tes colonnes ...

comment tu fais?

Re,

Pour faire du bricolage - rafistolage ... tu peux mettre en route ton enregistreur de macros ... et effectuer le processus que tu désires

Tu obtiendras la macro ...car toutes tes actions auront été enregistrées et seront donc replicables ...

Rechercher des sujets similaires à "vba copier fonction"