[VBA] Jointure de deux Bases de Données!SOS!!
tzehani
Messages postés
11
Statut
Membre
-
tzehani Messages postés 11 Statut Membre -
tzehani Messages postés 11 Statut Membre -
Bonjour à toute la communauté
Je suis en train de faire un travail en vba et j'ai un souci de programmation.
Mon problème est le suivant :
J'ai un fichier excel nommé BD.xls qui contient 2 bases de données :
- BaseProjets : une colonne A "Projet" et une colonne B " Client", à chaque projet on lui associe son client respectif.
- BaseEmployés : une colonne D "Employé" et une colonne E "Equipe", à chaque employé, on lui associe son équipe respective.
Maintenant j'ai un autre fichier excel, appellé Autre.xls qui contient une colonne projet, une autre employé, et une derniere que je veux remplir.
Problème : Je veux remplir cette colonne par les clients qui sont associés aux projets ( c'est bon je sais faire ) mais lorsque le projet n'existe pas dans ma base de donnée et uniquement dans ce cas je veux la remplir alors par l'equipe qui est associé à l'employé. ( car la base de donnée des employés est tjs à jour)
voila le code pour remplir la colonne par les clients :
voila le code pour remplir la colonne par l'equipe :
il faut que je jongle avec les deux codes pour que lorsque le premier ne marche pas pour un projet donné ( cad projet inexistant ), j'utilise le deuxième mais ensuite revenir au premier code.
PS : lorque le projet est inexistant, il s affiche sur la cellule "#N/A"
Merci infiniment de votre aide
Je suis en train de faire un travail en vba et j'ai un souci de programmation.
Mon problème est le suivant :
J'ai un fichier excel nommé BD.xls qui contient 2 bases de données :
- BaseProjets : une colonne A "Projet" et une colonne B " Client", à chaque projet on lui associe son client respectif.
- BaseEmployés : une colonne D "Employé" et une colonne E "Equipe", à chaque employé, on lui associe son équipe respective.
Maintenant j'ai un autre fichier excel, appellé Autre.xls qui contient une colonne projet, une autre employé, et une derniere que je veux remplir.
Problème : Je veux remplir cette colonne par les clients qui sont associés aux projets ( c'est bon je sais faire ) mais lorsque le projet n'existe pas dans ma base de donnée et uniquement dans ce cas je veux la remplir alors par l'equipe qui est associé à l'employé. ( car la base de donnée des employés est tjs à jour)
voila le code pour remplir la colonne par les clients :
Range("H2:H" & i).Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1], BDxls!BaseProjets, 2, False)"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H" & i), Type:=xlFillDefault
Range("H2:H" & i).Select
voila le code pour remplir la colonne par l'equipe :
Range("H2:H" & i).Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-2], BDxls!BaseEmployés, 2, FALSE)"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H" & i), Type:=xlFillDefault
Range("H2:H" & i).Select
il faut que je jongle avec les deux codes pour que lorsque le premier ne marche pas pour un projet donné ( cad projet inexistant ), j'utilise le deuxième mais ensuite revenir au premier code.
PS : lorque le projet est inexistant, il s affiche sur la cellule "#N/A"
Merci infiniment de votre aide
A voir également:
- [VBA] Jointure de deux Bases de Données!SOS!!
- Fuite données maif - Guide
- Nombre de jours entre deux dates excel - Guide
- Supprimer les données de navigation - Guide
- Base de registre - Guide
- Deux ecran pc - Guide
1 réponse
Essaye en ajoutant des conditions à l'éxécution de tes procédures :
Exemple:
If "condition" then
Range("H2:H" & i).Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1], BDxls!BaseProjets, 2, False)"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H" & i), Type:=xlFillDefault
Range("H2:H" & i).Select
Else Range("H2:H" & i).Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-2], BDxls!BaseEmployés, 2, FALSE)"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H" & i), Type:=xlFillDefault
Range("H2:H" & i).Select
End if
Exemple:
If "condition" then
Range("H2:H" & i).Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-1], BDxls!BaseProjets, 2, False)"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H" & i), Type:=xlFillDefault
Range("H2:H" & i).Select
Else Range("H2:H" & i).Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-2], BDxls!BaseEmployés, 2, FALSE)"
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H" & i), Type:=xlFillDefault
Range("H2:H" & i).Select
End if
est ce qu' on peut faire une fonction d'existence, c'est à dire si mon projet existe dans la base de données alors faire .... sinon .... sachant que la valeur cherchée c'est à dire mon projet ne se situe pas dans le même fichier où se trouve la base de données.
Merci infiniment.