Bonjour à tous et à toutes
je me décide enfin à faire appel à vos compétences car je dois avouer que je nage. Je désire trouver un numéro de ligne d'après plusieurs critères.
Voici comment j'envisage la macro (ne soyez pas trop sévère je débute). J'ai donc un fichier en cours à partir duquel je lance ma macro et qui va chercher les infos dans un autre fichier.
J'espère que c'est compréhensible.
Merci
je me décide enfin à faire appel à vos compétences car je dois avouer que je nage. Je désire trouver un numéro de ligne d'après plusieurs critères.
Voici comment j'envisage la macro (ne soyez pas trop sévère je débute). J'ai donc un fichier en cours à partir duquel je lance ma macro et qui va chercher les infos dans un autre fichier.
Code:
Sub Importation2()
Dim i, BonneLigne, Largeur, Longueur, Vitesses,DernièreLigne As Integer
Dim CodeType, Epaisseur As Variant
Longueur = Range("D1").Value 'affectation de variable d'après mon fichier en cours'
Largeur = Range("E1").Value 'affectation de variable d'après mon fichier en cours'
Epaisseur = Range("F1").Value 'affectation de variable d'après mon fichier en cours'
CodeType = Range("G1").Value 'affectation de variable d'après mon fichier en cours'
BonneLigne = 0
Vitesses = 0
Workbooks.Open Filename:="C:\Users\Gim\Documents\Classeur2013.xlsm" 'pour ouvrir le fichier ou les données sont contenues sous forme de tableau dynamique'
DerniereLigne = Range("A65536").End(xlUp).Row 'détermine la derniere ligne du fichier qui évolue en permanence'
For i = 1 To DerniereLigne 'Parcours séquentiel du fichier de données'
'Partie que je ne sais pas faire car conditions multiples
'If Range("E" & i).Value = Epaisseur et
'If Range("G" & i).Value = Longueur et
'If Range("F" & i).Value = Largeur et
'If Range("D" & i).Value = CodeType et
'If Range("I" & i).Value >= Vitesses'Then (si toute les conditions sont remplies)
Vitesse = Range("I" & i).Value
BonneLigne = i 'permet de récuperer le numéro de ligne qui me permettra d'exploiter les données que je recherche'
Next i
ThisWorkbook.Worksheets("Feuil1").Range("E6").Value = BonneLigne
' ou aussi ThisWorkbook.Worksheets("Feuil1").Range("E6").Value = Range("F" & BonneLigne).Value'
ActiveWorkbook.Close ' pour fermer le fichier de données '
End Sub
J'espère que c'est compréhensible.
Merci