Macro excel

Résolu
Utilisateur anonyme -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,

J'utilise les macros suivantes afin d'effectuer automatiquement un filtre avancé pour retrouver plus facilement une information.

Mais ça ne marche pas ? Elles se contentent de m'afficher la feuille ... Je pense avoir oublié quelque chose, mais je ne sais pas quoi.

Si vous avez une idée... Merci d'avance.

Laure

Private Sub CommandButton1_Click()
'pour noter les valeurs à rechercher
Sheets(1).Range("M4").Value = UserForm6.ComboBox1.Value
Sheets(1).Range("N4").Value = UserForm6.TextBox2.Value
Sheets(1).Range("O4").Value = UserForm6.TextBox1.Value
UserForm6.Hide

If Sheets(1).Range("D18").Value = "A" Then
rechercher Feuil2.Range("F2"), Feuil1.Range("M4:O4")
Feuil3.Activate

ElseIf Sheets(1).Range("D18").Value = "B" Then
rechercher Feuil2.Range("H2"), Feuil1.Range("M4:O4")
Feuil5.Activate
End If

End Sub

Sub rechercher(ligne As String, critere As Range)

If Sheets(1).Range("D18").Value = "A" Then
Feuil3.Range("A1:U" + CStr(ligne)).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=critere, Unique:=False

ElseIf Sheets(1).Range("D18").Value = "B" Then
Feuil5.Range("A1:R" + CStr(ligne)).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=critere, Unique:=False

End If

End Sub

3 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonsoir

    Peux-tu mettre un exemple sur http://cijoint.fr/ ?
    0
  2. Utilisateur anonyme
     
    Bonjour,

    Merci de m'aider.

    Voici un exemple de mon fichier.

    http://www.cijoint.fr/cjlink.php?file=cj201009/cijOkQskth.xls

    L'utilisateur doit sélectionner « Effectuer le Suivi d'un Audit » en D20, afin d'afficher un UserForm, ensuite il doit alors préciser quelques informations afin que le filtre élaboré soit déclenché sur la feuille « Audit AA ».

    Laure
    0
  3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonjour,

    Il y a juste quelques petites erreurs d'adressage :

    Private Sub CommandButton1_Click()
    'pour noter les valeurs à rechercher
    Sheets(1).Range("M2").Value = UserForm5.ComboBox1.Value 'service
    Sheets(1).Range("N2").Value = UserForm5.ComboBox2.Value ' type
    Sheets(1).Range("O2").Value = UserForm5.TextBox1.Value ' n°
    Sheets(1).Range("P2").Value = UserForm5.TextBox2.Value ' nom et prénom client
    UserForm5.Hide
    
    If Sheets(1).Range("D18").Value = "AA" Then
        rechercher Feuil2.Range("I2").Value, Feuil1.Range("M1:P2")
        Feuil7.Activate
        
    End If
    
    End Sub
    
    Sub rechercher(ligne As String, critere As Range)
    
    If Sheets(1).Range("D18").Value = "AA" Then
        Feuil7.Range("A3:AF" + CStr(ligne)).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=critere, Unique:=False
        
    End If
       
    End Sub


    Cordialement
    Patrice
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      Ps : je viens de trouver deux erreurs de calcul dans paramètres :
      En I2 mettre =NBVAL('Audit AA'!A:A)+EQUIV("Service";'Audit AA'!A:A;0)-1
      En J2 mettre =NBVAL('Audit AA'!F:F)+EQUIV("Auditeur CSO";'Audit AA'!F:F;0) -1
      0
    2. Utilisateur anonyme
       
      merci pour la correction de ma macro.

      je ne comprends pas tes formules ci-dessus. pourquoi ajouter equiv?
      0
    3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      Parce que la 1ère ligne contenant ton tableau n'est pas la ligne 1
      0
    4. Utilisateur anonyme
       
      Ah d'accord je vois.
      En fait dans mon vrai fichier j'ai des titres dans les cellules A1 et A2 ma formule me donne donc bien le nombre de ligne non vide.

      Encore merci pour ton aide.

      Elsie
      0
    5. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      De rien, au plaisir
      0