Erreur d'exécution '91' | ||
---|---|---|
Inscription: 08/04/2015
De paris
Messages:
1
Système d'exploitation: PC Version Excel utilisée: 2010 |
Posté le : 23-04-2015 17h14
Bonjour à tous.
Je suis en train de créer une base de donnée sur excel 2010 et je travaille beaucoup de macros pour y parvenir.
Pour commencer, mes connaissances sont assez limitées. Mais avec un peu d'acharnement, j'avance dans le projet. En gros, je ne résous pas les problèmes, je les contourne. Sauf que là, je suis bloqué. Voici mon objectif : J'ai créé une boite de dialogue qui me permet de saisir un terme à rechercher. 'Public StrRecherche as string'
Quand on lance la recherche, la macro doit rechercher le StrRecherche dans différentes colonnes et faire un filtre de ce terme dans chacune des 3 premières colonnes. Voici la macro que j'ai utilisé: Option Explicit Sub Recherche_Un_Agent() Dim Colonne As Integer Dim Ligne As Integer StrRecherche = Consult_Unique.Mot_Clef.Value If StrRecherche = "" Then MsgBox (" Saisie vide ") Else: Sheets("Base de données").Select On Error Resume Next ActiveSheet.ShowAllData On Error GoTo Colonne2 Columns("A:A").Select Selection.Find(What:=StrRecherche).Activate ActiveSheet.Range("A:A").AutoFilter Field:=1, Criteria1:=StrRecherche Colonne2: On Error GoTo Colonne3 Columns("B:B").Select Selection.Find(What:=StrRecherche).Activate ActiveSheet.Range("A:A").AutoFilter Field:=2, Criteria1:=StrRecherche Colonne3: On Error GoTo GEr4 Columns("C:C").Select Selection.Find(What:=StrRecherche).Activate ' le problème est ici ActiveSheet.Range("A:A").AutoFilter Field:=3, Criteria1:=StrRecherche Rows("10:10").Select GEr4: End If On Error Resume Next ActiveSheet.ShowAllData End GEr2: MsgBox ("Le texte saisi est introuvable") ActiveSheet.ShowAllData End Sub J'exécute la macro, tout se passe bien dans les 2 premières colonnes et à la troisième elle me renvoie ça malgré le 'on error goto GEr4'
Alors si qqu'un pouvais m'aider, ça m'aiderait ( La Palice n'a qu'à bien se tenir !)
Merci d'avance pour votre aide.
|
|
|
Re: Erreur d'exécution '91' | ||
---|---|---|
Inscription: 07/08/2009
Messages:
18
Système d'exploitation: PC Version Excel utilisée: 2003, 2016 |
Posté le : 25-04-2015 19h08
Bonjour à tous,
On aimerai bien savoir quel est l'intérêt de ce code (un filtrage sur trois colonnes selon un terme recherché qui se termine par la commande "ActiveSheet.ShowAllData" qui réaffiche le tout)... L'erreur est due (du moins je crois) à l'absence du terme recherché dans la colonne précédente (colonne B) après filtrage de cette colonne... Tu pourras faire un petit essai en éliminant le terme recherché dans la première colonne et exécuter le code, l'erreur sera dans le filtrage de la colonne B... ActiveSheet.Range("A:A").AutoFilter Field:=2, Criteria1:=StrRecherche ActiveSheet.Range("A:A").AutoFilter Field:=3, Criteria1:=StrRecherche Filtre sur colonne A selon les champs 2 et 3 ???
De préférence joindre le fichier concerné pour faire nos essais...
Cordialement |
|
|