Voilà, je suis débutant et après avoir cherché sur internet, je n'arrive pas à résoudre mon problème.
Le voici : je tente de récupérer la valeur des lignes "C" "E" et "W" de ma feuille donnée en fonction de la valeur d'une combobox (ici la variable : Valeur_société). La combobox récupère le nom d'une société qui se trouve en colonne "F" de la feuille "données". Si le nom de la société est trouvé, alors on reprend les infos de la cellule "C" "E" et "W" et on les copie dans une autre feuille.
Voici le code actuel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Private Sub CommandButton1_Click() Dim plage As Range, cel As Range Dim Num_Ligne As Integer Application.ScreenUpdating = False 'on se positionne sur la colonne ou se trouve la valeur de la société et on définit la plage à analyser pour comparer la valeur de la combobox With Worksheets("Données") derlig = .Range("F" & Rows.Count).End(xlUp).Row Set plage = .Range("F4:F" & derlig) End With 'on parcours la plage définie plus haut For Each cel In plage 'si la valeur de la cellule correspond à la valeur de la combobox (ici Valeur_societe) alors on récupère la donnée de la cellule C-E-W de la ligne sur laquelle on se trouve (feuille données) If cel = Valeur_societe Then Sheets("Données").Select Range("C" & ActiveCell.Row & ",E" & ActiveCell.Row & ",W" & ActiveCell.Row).Select Range("C" & ActiveCell.Row & ",E" & ActiveCell.Row & ",W" & ActiveCell.Row).Copy 'on se place sur la feuille Inasti et on colle la valeur Sheets("Inasti").Select Worksheets("Inasti").Range("A4").Select ActiveSheet.Paste Selection.Insert Shift:=xlDown End If Next cel Application.ScreenUpdating = True End Sub
Le problème est que la macro renvoie bien le nombre de ligne correspondant (ex société 1 :19 lignes, société 2 : 17 lignes) mais ne renvoie pas la bonne valeur. J'ai toujours le même nom qui s'affiche
comme si Range("C" & ActiveCell.Row) était toujours identique.
Merci d'avance pour votre aide .
Nb : il me reste une option c'est d'aller voir si je peux faire un copier d'une cellule genre cel.Copy avec offset dedans...
Partager