VBA Lien entre 2 feuilles excel
tzehani
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
m@rina Messages postés 23933 Date d'inscription Statut Contributeur Dernière intervention -
m@rina Messages postés 23933 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous
J'ai un problème et je n'arrive pas à trouver la solution
Voici mon problème
En fait j'ai une feuille1 excel qui contient une colonne A avec des projets et une colonne B avec des codes projets ( codes associés à chaque projets de manière unique)
J'ai une feuille2 excel qui contient une colonne A avec des projets et une colonne B avec des informations inutiles, Mon but est de remplacer la colonne B de la feuille2 par les codes de la feuille 1 ( bien sur les codes doivent être associés aux projets comme en feuille1)
Je travaille sur VBA 5
Merci beaucoup de votre aide
J'ai un problème et je n'arrive pas à trouver la solution
Voici mon problème
En fait j'ai une feuille1 excel qui contient une colonne A avec des projets et une colonne B avec des codes projets ( codes associés à chaque projets de manière unique)
J'ai une feuille2 excel qui contient une colonne A avec des projets et une colonne B avec des informations inutiles, Mon but est de remplacer la colonne B de la feuille2 par les codes de la feuille 1 ( bien sur les codes doivent être associés aux projets comme en feuille1)
Je travaille sur VBA 5
Merci beaucoup de votre aide
A voir également:
- VBA Lien entre 2 feuilles excel
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Liste déroulante excel - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Word et excel gratuit - Guide
4 réponses
Bonsoir,
Le principe est le même que ce soit avec deux feuilles ou deux fichiers.
Dans ta formule, au lieu de mettre BASE, tu mettras nom_du_fichierxls!BASE
Cela va créer un lien vers le premier fichier. Si tu ne souhaites pas garder ce lien, c'est possible : tu sélectionnes ta colonne, tu la copies, et dans le menu Edition, collage Spécial, tu choisis "Coller les valeurs".
m@rina
Le principe est le même que ce soit avec deux feuilles ou deux fichiers.
Dans ta formule, au lieu de mettre BASE, tu mettras nom_du_fichierxls!BASE
Cela va créer un lien vers le premier fichier. Si tu ne souhaites pas garder ce lien, c'est possible : tu sélectionnes ta colonne, tu la copies, et dans le menu Edition, collage Spécial, tu choisis "Coller les valeurs".
m@rina
Bonjour tzehani,
Si j'ai bien compris ton problème, la fonction RECHERCHEV devrait te convenir.
Nomme ton premier tableau (BASE par exemple)
En B2 de ta 2e feuille, mets la formule suivante :
=RECHERCHEV(A1;BASE;2;FAUX)
Tu positionnes ensuite le curseur à l'intersection en bas à droite de ta cellule B2 de façon à ce que le curseur prennent l'aspect d'un + noir, et tu double cliques pour remplir la colonne entière.
m@rina
Si j'ai bien compris ton problème, la fonction RECHERCHEV devrait te convenir.
Nomme ton premier tableau (BASE par exemple)
En B2 de ta 2e feuille, mets la formule suivante :
=RECHERCHEV(A1;BASE;2;FAUX)
Tu positionnes ensuite le curseur à l'intersection en bas à droite de ta cellule B2 de façon à ce que le curseur prennent l'aspect d'un + noir, et tu double cliques pour remplir la colonne entière.
m@rina
merci infiniment pour ta réponse
mais au fait je me suis un peu trompé ce ne sont pas deux feuilles
mais deux fichiers excels indépendants
je peux pas les mettre dans le meme fichier dans deux feuilles differentes a cause des mises à jour et du fait qu un des deux fichiers est exporté sinon
ta fonction répond bien à ce que je souhaitais
pouvez vous m'indiquer comment faire la même chose mais sur deux fichiers différents un qui se nomme projetstatiques.xls et l'autre juillet07.xls et c le juillet07 que je veux changer
merci encore
mais au fait je me suis un peu trompé ce ne sont pas deux feuilles
mais deux fichiers excels indépendants
je peux pas les mettre dans le meme fichier dans deux feuilles differentes a cause des mises à jour et du fait qu un des deux fichiers est exporté sinon
ta fonction répond bien à ce que je souhaitais
pouvez vous m'indiquer comment faire la même chose mais sur deux fichiers différents un qui se nomme projetstatiques.xls et l'autre juillet07.xls et c le juillet07 que je veux changer
merci encore
Bonjour !
Quand je vois ta macro, je dis Houla !!!!
Range("B600" & m) : c'est quoi ça ?... "B600", je comprends mais le & m...
Par ailleur, si tu veux mettre une formule dans ta cellule, il lui dire que c'est une formule.
Ensuite, le VBA ne connaît que les formules en anglais (enfin, dans les versions récentes).
Il faut faire une boucle pour remplir chaque cellule de ta plage. Ce peut être quelque chose comme ça pour mettre la formule dans toutes les cellules de la plage B1:B600
m@rina
Quand je vois ta macro, je dis Houla !!!!
Range("B600" & m) : c'est quoi ça ?... "B600", je comprends mais le & m...
Par ailleur, si tu veux mettre une formule dans ta cellule, il lui dire que c'est une formule.
Ensuite, le VBA ne connaît que les formules en anglais (enfin, dans les versions récentes).
Il faut faire une boucle pour remplir chaque cellule de ta plage. Ce peut être quelque chose comme ça pour mettre la formule dans toutes les cellules de la plage B1:B600
Sub tzehani() For Each c In Worksheets("monclasseur").Range("B1:B600").Cells c.FormulaR1C1 = "=VLOOKUP(RC[-2],employésstatiques.xls!base,2,FALSE)" Next End Sub
m@rina
Merci beaucoup de tes conseils je vois que ca marche très bien, mais avec vba j'ai encore des difficultés
j'ai déclaré mon fichier excel employésstatiques comme suit :
Dim employésstatiquesxls As Excel.Application
et dans Visual Basic de mon fichier que je veux changer, ca ne veut pas marcher, il n'accepte pas les points virgule comme séparateur, j'ai du mettre des virgules ;
For m = 2 To Nol
Range("B600" & m) = RECHERCHEV("A600" & m, employésstatiquesxls!BASE, 2, FAUX)
m = m + 1
Next
Mon message d'erreur est le suivant :
ERREUR DE COMPILATION :
Nombre d'arguments incorrects ou affectation de propriété incorrecte
il me surligne employésstatiques
je débute à peine en VB
Merci encore pour ton aide c'est très gentil
j'ai déclaré mon fichier excel employésstatiques comme suit :
Dim employésstatiquesxls As Excel.Application
et dans Visual Basic de mon fichier que je veux changer, ca ne veut pas marcher, il n'accepte pas les points virgule comme séparateur, j'ai du mettre des virgules ;
For m = 2 To Nol
Range("B600" & m) = RECHERCHEV("A600" & m, employésstatiquesxls!BASE, 2, FAUX)
m = m + 1
Next
Mon message d'erreur est le suivant :
ERREUR DE COMPILATION :
Nombre d'arguments incorrects ou affectation de propriété incorrecte
il me surligne employésstatiques
je débute à peine en VB
Merci encore pour ton aide c'est très gentil