Traduction VBA
Résolu
mimilendo35
Messages postés
8
Statut
Membre
-
mimilendo35 Messages postés 8 Statut Membre -
mimilendo35 Messages postés 8 Statut Membre -
1 réponse
-
Bonjour,
c = Range ou on a trouvé E2.
Donc c.Row est la ligne ou on a trouvé E2lig = c.Row
=> stocke le n° de ligne ou on a trouvé E2
T.Rows(lig & ":" & lig).ClearContents
=> Efface les données de cette ligne
et :lig = T.Range("A" & Rows.Count).End(xlUp)(2).Row=>lig représente alors la première ligne vide de la colonne A de la feuille T
-
-
Re pijaku,
Je suis au bout du VBA, il ne me reste que les dernières lignes... Peux-tu m'aider ? :)
Sub RESULT()
With T 'feuille Tableau
Set c = .Range("A:A").Find([E2], lookat:=xlWhole) 'définit et cherche le n° lot inscrit en E2
If Not c Is Nothing Then 'si on trouve le n° lot
ln = c.Row 'stocke le n° de ligne où on a trouvé E2
Else
Exit Sub
End If
For Each c In [D11:D26] 'pour chaque n° lot
col = Application.Match(c, .Rows(1), 0)
If IsNumeric(col) Then .Cells(ln, col) = c(1, 2)
Next
.Range("J" & ln & ":ADX" & ln).Replace what:="", replacement:="<LOQ", lookat:=xlWhole
End With
End Subcol = Application.Match(c, .Rows(1), 0)
Application.MAtch est l'équivalant en VBA de la fonction Excel Index. On va stocker donc ici le n° de la colonne correspondant à la valeur recherchée, c. Soit le contenu de : D11, D12, D13,...,D26If IsNumeric(col) Then .Cells(ln, col) = c(1, 2)
c(1, 2) = contenu de la cellule voisine de C (donc E11, E12 etc)
La ligne complète signifie donc : Si col est numérique alors la cellule Ligne ln, colonne col est égale à E11, E12 etc...Next
suivant.Range("J" & ln & ":ADX" & ln).Replace what:="", replacement:="<LOQ", lookat:=xlWholeReplace est l'équivalant de Ctrl+H (rechercher/remplacer) Ici on remplace rien : "" par "<LOQ" dans la plage J ligne:ADX ligne
-
