Sub test()
'Workbooks("Classeur1.xls").Sheets ("Feuil1")
With Sheets("Feuil1")
.Range("J7:J20").Value = WorksheetFunction.VLookup(.Range("G7:G10").Value, _
Workbooks("Classeur1.xls").Sheets("Feuil1").Range("B1:C100"), 2, False)
End With
With Sheets("Feuil1")
.Range("K7:K20").Value = WorksheetFunction.VLookup(.Range("G7:G10").Value, _
Workbooks("Classeur1.xls").Sheets("Feuil1").Range("B1:C100"), 3, False)
End With
With Sheets("Feuil1")
.Range("L7:L20").Value = WorksheetFunction.VLookup(.Range("G7:G10").Value, _
Workbooks("Classeur1.xls").Sheets("Feuil1").Range("B1:C100"), 4, False)
End With
End Sub
Sub test()
End With
With Sheets("Feuil1")
.Range("J7:L20").Value = WorksheetFunction.VLookup(.Range("G7:G10").Value, _
Workbooks("Classeur1.xls").Sheets("Feuil1").Range("B1:C100"), [COLOR="Red"]2 à 4[/COLOR], False)
End With
End Sub
valeur_recherchée au singulier donc une cellule par exemple et non une plage=RECHERCHEV(valeur_recherchée;table_matrice;no_index_col;valeur_proche)
Dim Col As Byte
Dim Lgn As Integer
With Sheets("Feuil1")
For [COLOR=Blue]Col[/COLOR] = 2 To 4 '[COLOR=DarkGreen]ici pour les colonnes à passé en revue[/COLOR]
For[COLOR=Red] Lgn[/COLOR] = 7 To 20[COLOR=DarkGreen] 'ici pour les lignes à passer en revue[/COLOR]
.Cells([COLOR=Red]Lgn[/COLOR],[COLOR=Blue] Col[/COLOR]).Value = WorksheetFunction.VLookup(.Range("G" & [COLOR=Red]Lgn[/COLOR]) _
.Value,Workbooks("Classeur1.xls").Sheets("Feuil1").Range("B1:C100"), [COLOR=Blue]Col[/COLOR], False)
Next[COLOR=Red] Lgn[/COLOR]
Next [COLOR=Blue]Col[/COLOR]
End With
Bons testsSub TEST_G()
Dim Col As Byte
Dim Lgn As Integer
Dim DerLgn As Long
Dim ColSearch As Integer
ColSearch = 2 'ici on initialise la variable car les colonnes
'des feuilles ne sont pas les même
With Workbooks("A DESTINATION.xls").Sheets("SUIVI A")
DerLgn = .Cells(.Rows.Count, 7).End(xlUp).Row 'ici on détermine la dernière ligne de la plage à passer en revue
For Col = 8 To 103 'ici pour les colonnes à passé en revue
Select Case Col
Case Is = 8
For Lgn = 7 To DerLgn 'ici pour les lignes à passer en revue
.Cells(Lgn, Col).Value = WorksheetFunction.VLookup(.Range("G" & Lgn).Value, _
Workbooks("GEO SOURCE.xls").Sheets("SUIVI").Range("G6:AE700"), ColSearch, False)
Next Lgn
Case 91 To 103
ColSearch = ColSearch + 1 'ici on augmente de 1
For Lgn = 7 To DerLgn 'ici pour les lignes à passer en revue
.Cells(Lgn, Col).Value = WorksheetFunction.VLookup(.Range("G" & Lgn).Value, _
Workbooks("GEO SOURCE.xls").Sheets("SUIVI").Range("G6:AE700"), ColSearch, False)
Next Lgn
End Select
Next Col
End With
End Sub
elle prend en compte ta demandeSub TEST_G()
Dim Col As Byte
Dim Lgn As Integer
Dim DerLgn As Long
Dim ColSearch As Integer
Dim Ok As Boolean
Dim Ws_S As Worksheet
Dim Ws_C As Worksheet
Set Ws_S = Workbooks("GEO SOURCE.xls").Sheets("SUIVI")
Set Ws_C = Workbooks("A DESTINATION.xls").Sheets("SUIVI A")
Application.ScreenUpdating = False
With Ws_C
DerLgn = .Cells(.Rows.Count, 7).End(xlUp).Row
For Col = 8 To 103 'ici pour les colonnes à passer en revue
Ok = False
For Lgn = 7 To DerLgn 'ici pour les lignes à passer en revue
If Application.WorksheetFunction.CountIf(Ws_S.Range("G6:AE700"), .Range("G" & Lgn).Value) <> 0 Then
Select Case Col
Case Is = 8
ColSearch = 2: Ok = True
Case 91
ColSearch = 3: Ok = True
Case 92
ColSearch = 4: Ok = True
Case 93
ColSearch = 5: Ok = True
Case 94
ColSearch = 6: Ok = True
Case 98
ColSearch = 8: Ok = True
End Select
If Ok = True Then
.Cells(Lgn, Col).Value = WorksheetFunction.VLookup(.Range("G" & Lgn).Value, _
Ws_S.Range("G6:AE" & Ws_S.Range("G65536").End(xlUp).Row), ColSearch, False)
Ok = False
End If
End If
Next Lgn
Next Col
End With
Application.ScreenUpdating = True
End Sub
je n'ai pas compris lecolonne 'N' du fichier source avec la colonne 'BZ' (98) du fichier destination
Bonne Journéecomment faire la même chose avec une colonne indépendante
en espérant avoir pu t'aiderFor L=3 to 100
.Range("F"&L).Value = WorksheetFunction.VLookup(.Range("B"&L).Value, WorkBooks("Nom Du Classeur Source").Sheets("Gabarit").Range("A2:J1000"), 10, False)
Next L
Private Sub ComboBox1_Change()
ComboBox3.Value = Active.WorksheetFunction.VLookup(ComboBox1.Value, Sheets("Settings").Range("A1:D" & .Range("A65536").End(xlUp).Row).Value, 4, False)
End Sub