Bonsoir,
J'ai fait ce petit code pour rechercher des informations dans une colonne pouvant changer de place :
Option Explicit
Dim n As String, Rep As Byte
Dim lrfb As Long, lrco As Long, lrsa As Long, lrdc As Long, r As Long, lrCBN As Long, lran As Long
Dim lcco As Long, lcan As Long
Dim fb As Worksheet, sa As Worksheet, dc As Worksheet, ds As Worksheet, co As Worksheet, an As Worksheet, CBN As Worksheet
Dim rng As Range, cell As Range, rng2 As Range, Cell2 As Range
Dim rng3 As Range, rng4 As Range, rng5 As Range, rng6 As Range, rng7 As Range, rng8 As Range
Dim Cell3 As Range, Cell4 As Range, Cell5 As Range, Cell6 As Range, Cell7 As Range, Cell8 As Range
Dim i&, derLn&, nb&, derLn2&, nb2&
Dim del As Integer
Sub Savedatabase()
'Remplissage de la colonne [K] (Correspondance)
Dim i3 As Integer, num1b As Variant
Dim plagebota As Range, plagesaisie As Range, re As Range
Dim tve As Range, z As Range
Set sa = Worksheets("Saisie")
Set co = Worksheets("Correspondances")
lrco = co.Cells(Rows.Count, 1).End(xlUp).Row
lcco = co.Cells(1, co.Columns.Count).End(xlToLeft).Column
With co
Set z = .Range(Cells(1, 1), Cells(lrco, lcco))
End With
Set tve = z.Cells.Find(what:="Indentifiant unique", LookAt:=xlWhole)
Set plagebota = tve
With sa
For i3 = 2 To lrsa
Set re = plagebota.Find(.Cells(i3, 13), LookAt:=xlWhole)
If Not re Is Nothing Then
.Cells(i3, 11) = re.Offset(, 4) 'Correspondance
Else
.Cells(i3, 11) = ""
End If
Next
End With
End Sub
Malheureusement j'ai l'erreur "variable objet ou variable de bloc non définie" sur cette ligne :
Set z = .Range(Cells(1, 1), Cells(lrco, lcco))
Du coup je me demande si je m'y prend bien, peut-être z ne peut pas être un range ?
Je suis contraint de faire tout ça pour éviter d'avoir à faire une recherche s'appuyant sur des informations contenues dans deux colonnes ; ne sachant pas le faire.
Je poste ici dans le cas où vous me donneriez la solution plus vite que je ne la trouve.
Si je trouve quelque chose avant, je posterai ma solution à la suite.
Merci de votre attention
Bonne fin de journée !