Transfert de données entre 2 classeurs excel

EricTheKing7 Messages postés 4 Statut Membre -  
EricTheKing7 Messages postés 4 Statut Membre -
Bonjour!

Je galère depuis 2 jrs sur un fichier excel!!! :fou:

En fait, j'ai un fichier ac 2 classeurs. Sur le premier classeur, j'ai la région, le nom, le prénom et le numéro du sociétaire als que sur le second je n'ai que le numéro du sociétaire...
Donc voilà, l'idéal serait de créer une macro qui pointe les numéros sociétaires sur les deux classeurs, et que lorsque deux numéros sont identiques, les données du fichier complet (région, nom, prenom) se transfère dans l'autre classeur..
Sachant qu'il y a plus de 11000 numéros sociétaires, jpeu laisser tomber le bon vieux copier-coller...

Je bataille, je bataille mais rien y fait!! :pt1cable:

Voilà, en espérant avoir été assez clair...Merci d'avance!

5 réponses

  1. Dctc33
     
    Bonjour,
    Je suppose qu'il faut rechercher et récupérer les données par rapport au numéro commun
    1- Connaitre le nom des classeurs pour pouvoir les appeler
    Pour appeler un classeur
    Windows(Nom_Classeur).Activate
    Quand on a activé le classeur
    sélectionner la page souhaitée Ex page 1
    Sheets(1).select

    Prenons comme exemple que le premier Numéro est ligne 5 colonne 1

    déclarer une variable
    Dim MaValeur as integer

    MaValeur = 5

    While Sheets(1).Cells(MaVleur,1) <> ""

    If Sheets(1).Cells(MaVleur,1) = LeNumero recherché Then

    ' Récupérer les donner

    Toto = Sheets(1).Cells(MaVleur,2)
    label1.caption = Sheets(1).Cells(MaVleur,3)

    Endif

    MaValeur = MaValeur + 1
    Wend

    ' Sélectionner le deuxième classeur

    Windows(Nom_Classeur2).Activate

    et refaire le même type de boucle

    Si l'ordre est identique sur les deux classeurs on peut gagner du temps en récupérant le numéro de ligne

    L'utilisation du while a l'avantage que nous n'avons pas à connaitre le nombre de lignes par contre il ne faut pas sauter de ligne étant donné que l'on recherche la cellule vide

    le passage d'un classeur à l'autre ou d'une page à l'autre est visible pendant le déroulement de la macro ce n'est pas très beau
    Pour ne pas le voir débuter sa SUB par

    Application.ScreenUpdating = False

    avant le End Sub
    Application.ScreenUpdating = true

    quand on démarre une macro il possible de récupérer le nom du classeur en cours

    Nom_Classeur = ActiveWorkbook.Name

    En espérant vous avoir donné quelques infos sur le sujet

    Bonne programmation
    1
    1. EricTheKing7 Messages postés 4 Statut Membre
       
      Merci bcp les gars c sympa, j'ai enfin réussi a résoudre mon problème!! Bonne continuation!
      0
  2. Gord21 Messages postés 928 Statut Membre 289
     
    Bonjour,
    Je pense que tu peux t'en sortir sans macro avec la fonction RECHERCHEH ou RECHERCHEV.
    0
  3. EricTheKing7 Messages postés 4 Statut Membre
     
    Ben justement j'essaye avec cette méthode mais ça ne marche tjs pas...
    0
  4. EricTheKing7 Messages postés 4 Statut Membre
     
    Enfin avec les formules je trouve ce que je cherche mais le résultat ne s'affiche pas correctement! J'ai beau aller modifier le format des cellules rien ne change als que j'utilise la bonne formule...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Gord21 Messages postés 928 Statut Membre 289
     
    Est-ce que tu pourrais envoyer un exemple de ton fichier ? Ce serait plus facile de proposer des solutions.
    0