prendre des cellules en fonction du n° client - VB/VBA/VBS - Programmation
MarshPosté le 07-05-2010 à 18:54:52
Bonjour à tous, J'aurai besoin d'aide pour un programme en VBA.
Voici ce que je dois réaliser:
J'ai deux fichiers, un fichier A et un fichier B. Dans le fichier A, sur la deuxième feuille, j'ai un tableau contenant des n° de clients dans la colonne C et des dates qui se suivent dans la ligne 7. Dans le fichier B, j'ai un tableau contenant des n° des clients dans la colonne Q et des chiffres dans la colonne L.
J'aimerai un code VBA qui permette en cliquant sur un bouton, de prendre les n° des clients du fichier A, les retrouver dans le fichier B (dans la colonne Q) et mette les chiffres de la colonne L du fichier B (auxquels se rapporte les n° de clients identiques) dans la colonne du fichier A à la date du jour.
exemple: aujourd'hui on est le 2 mai, dans la colonne du fichier A contenant le 02/05/2010 à la ligne 7, cette colonne se remplie avec uniquement les chiffres du fichier B qui ont le même n° client que ceux de la colonne C du fichier A, sous la ligne 7. Demain, le 3 mai, ce sera la colonne contenant le 03/05/2010 qui se remplira...
Si plusieurs numéros de clients sont identiques dans la colonne Q du fichier B alors additionner les chiffres de la colonne L de ceux-ci et les mettre pareillement dans la feuil2 du fichier A.
J'ai commencé comme ce la mais je n'arrive pas à le terminer.
Private Sub CommandButton1_Click()
On Error Resume Next For n = 1 To Workbooks("Fichier A.xlsm" ).Worksheets("Feuil2" ).Range("C65536" ).End(xlUp).Row For m = 1 To Workbooks("Fichier B.xlsm" ).Worksheets("Feuil1" ).Range("Q65536" ).End(xlUp).Row If Workbooks("Fichier A.xlsm" ).Worksheets("Feuil2" ).Range("C" & n).Value = Workbooks("Fichier B.xlsm" ).Worksheets("Feuil1" ).Range("Q" & m).Value Then Workbooks("Fichier A.xlsm" ).Worksheets("Feuil2" ).Range("A" & n).Value = Workbooks("Fichier A.xlsm" ).Worksheets("Feuil2" ).Range("A" & n).Value + Workbooks("Fichier B.xlsm" ).Worksheets("Feuil1" ).Range("L" & m).Value End If Next m Next n End Sub
Marsh Posté le 07-05-2010 à 18:54:52
Bonjour à tous,
J'aurai besoin d'aide pour un programme en VBA.
Voici ce que je dois réaliser:
J'ai deux fichiers, un fichier A et un fichier B.
Dans le fichier A, sur la deuxième feuille, j'ai un tableau contenant des n° de clients dans la colonne C et des dates qui se suivent dans la ligne 7.
Dans le fichier B, j'ai un tableau contenant des n° des clients dans la colonne Q et des chiffres dans la colonne L.
J'aimerai un code VBA qui permette en cliquant sur un bouton, de prendre les n° des clients du fichier A, les retrouver dans le fichier B (dans la colonne Q) et mette les chiffres de la colonne L du fichier B (auxquels se rapporte les n° de clients identiques) dans la colonne du fichier A à la date du jour.
exemple:
aujourd'hui on est le 2 mai, dans la colonne du fichier A contenant le 02/05/2010 à la ligne 7, cette colonne se remplie avec uniquement les chiffres du fichier B qui ont le même n° client que ceux de la colonne C du fichier A, sous la ligne 7.
Demain, le 3 mai, ce sera la colonne contenant le 03/05/2010 qui se remplira...
Si plusieurs numéros de clients sont identiques dans la colonne Q du fichier B alors additionner les chiffres de la colonne L de ceux-ci et les mettre pareillement dans la feuil2 du fichier A.
J'ai commencé comme ce la mais je n'arrive pas à le terminer.
Private Sub CommandButton1_Click()
On Error Resume Next
For n = 1 To Workbooks("Fichier A.xlsm" ).Worksheets("Feuil2" ).Range("C65536" ).End(xlUp).Row
For m = 1 To Workbooks("Fichier B.xlsm" ).Worksheets("Feuil1" ).Range("Q65536" ).End(xlUp).Row
If Workbooks("Fichier A.xlsm" ).Worksheets("Feuil2" ).Range("C" & n).Value = Workbooks("Fichier B.xlsm" ).Worksheets("Feuil1" ).Range("Q" & m).Value Then
Workbooks("Fichier A.xlsm" ).Worksheets("Feuil2" ).Range("A" & n).Value = Workbooks("Fichier A.xlsm" ).Worksheets("Feuil2" ).Range("A" & n).Value + Workbooks("Fichier B.xlsm" ).Worksheets("Feuil1" ).Range("L" & m).Value
End If
Next m
Next n
End Sub
Merci de m'aider.