Bonjour,
Désolé pour le retard dans la réponse.
Dans mes essais, j'ai rencontré le probleme de généraliser le traitement des colonnes des tableaux, puisque ces derniers n'ont pas toujours la même structure de colonnes.
Par exemple:
- En feuil2, "Ateliers d’énergie" à 5 colonnes et "Batteries de l'atelier" à 4 colonnes.
- En feuil3, "Groupes électrogène" à 4 colonnes et "Ondulaires" à 5 colonnes.
Comment peut-on généraliser le traitement dans la boucle :
For ln = 5 To bdd.Range("A" & Rows.Count).End(xlUp).Row
If bdd.Range("D" & ln) = crit1 Then
k = 5 'lgn = Range("D" & Application.Max(5, Range("D" & Rows.Count).End(xlUp)(2).Row)).Row
Call ligne
Range("D" & lgn) = bdd.Range("A" & ln)
Range("E" & lgn) = bdd.Range("I" & ln)
Range("F" & lgn) = bdd.Range("F" & ln)
Range("F" & lgn) = bdd.Range("H" & ln) & "x" & bdd.Range("F" & ln)
Range("H" & lgn) = bdd.Range("E" & ln)
ElseIf crit2 <> "" And bdd.Range("D" & ln) Like crit2 & "*" Then
k = 10 'lgn = Range("D" & Application.Max(5, Range("D" & Rows.Count).End(xlUp)(2).Row)).Row
Call ligne
Range("D" & lgn) = bdd.Range("A" & ln)
Range("J" & lgn) = bdd.Range("I" & ln)
Range("K" & lgn) = bdd.Range("F" & ln)
Range("L" & lgn) = bdd.Range("E" & ln)
End If
Next ln
Merci d'avance.