Erreur incompréhensible dans ma Macro (VBA) à l'aide!
Bonjour à tous,
Dans le cadre de mon stage, je dois "pimper" un fichier excel avec tout un tas de macro. Là j'en ai fait une pour sélectionner des lignes qui correspondent à un ou deux critères. Le problème que je ne comprends pas se situe à la ligne ou je sélectionne les données. Le programme bloque dessus et me met une erreur de variable incompatible!:calim2::calim2::calim2:
J'ai fait une macro plus simple qui fait presque la même chose (mais tous les critères doivent être renseignés) et la sélection fonctionne quand une seule ligne correspond mais quand il y en a plusieurs cela bloque...:lol:
J'ai besoin donc de l'aide d'un gentils exceliste pour me sortir de ce pétrin!
Merci d'avance :P
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
Sub Recherche_Critères()
Dim i As Integer, j As Byte, DerLig As Integer
Dim Contrôle_Dossier As Boolean, Contrôle_Langue As Boolean, Contrôle_Société As Boolean
Dim Drapeau As Boolean
Dim MesLignes
DerLig = Sheets("RCEL").Range("A" & Rows.Count).End(xlUp).Row
For i = 20 To DerLig ' Lignes de la feuille 'RCEL'
'Dossier N° ------------ Début
If Sheets("Filtre").Range("A25") = "" Then
Contrôle_Dossier = True
GoTo Etiquette_Langue
End If
'Colonnes A
If Sheets("Filtre").Range("A25") = Sheets("RCEL").Cells(i, 1) Then
Contrôle_Dossier = True
GoTo Etiquette_Langue
End If
'LOCALITES ------------ Fin
'Langue ------------ Début
Etiquette_Langue:
If Sheets("Filtre").Range("B25") = "" Then
Contrôle_Langue = True
End If
'Colonnes B
If Sheets("Filtre").Range("B25") = Sheets("RCEL").Cells(i, 2) Then
Contrôle_Langue = True
End If
'Langue ------------ Fin
'FACADE ------------ Début
'Etiquette_FACADE:
'If .Cells(i, 7) >= Range("R" & ActiveCell.Row) Then Contrôle_Façade = True
'FACADE ------------ Fin
'DIMENSION ------------ Début
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Etiquette_DIMENSION:
'DIMENSION ------------ Fin
'Résultat
If Contrôle_Dossier = True And Contrôle_Langue = True Then
'MsgBox ("Le dossier " & Sheets("RCEL").Cells(i, 1) & " conviendrait à ce(s) critères")
MesLignes = MesLignes & i & ":" & i & "," 'Stockage des lignes qui répondent au critère
Drapeau = True
End If
Contrôle_Dossier = False
Contrôle_Langue = False
'Contrôle_Façade = False
Next i
If Drapeau = False Then MsgBox "Aucun dossier correspondant aux critères (vérifier les critères)"
If MesLignes <> "" Then
Worksheets("RCEL").Activate
MesLignes = Left(MesLignes, Len(MesLignes) - 1)
MsgBox ("Mes lignes " & MesLignes)
MesLignes = CStr(MesLignes)
Sheets("RCEL").Rows(MesLignes).Select
End If
End Sub |
Ci-dessus c'est la macro qui ne fonctionne pas...du moins dès qu'il y a plusieurs entités qui correspondent aux critères. Je pense donc que l'écriture de la variable MesLignes comporte une erreur!
Cependant quand je l'affiche dans la messagebox, elle semble correcte:
Citation:
12:12,15:15,67:67
Voilà merci de votre aide je suis toute désespérée:(