Problème macro critères multiples

  • Initiateur de la discussion Initiateur de la discussion vba95
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

vba95

XLDnaute Nouveau
Bonjour à Tous,

Après plusieurs jour de recherche je le net je me suis décidé à vous écrire car je bloque sur une macro.

Je débute dans ce domaine et un coup de main serait le bienvenu.

Je vous explique, dans un tableau sur la colonne L je fais un filtre sur un critère « OK », ensuite je copie/colle les lignes « OK » sur une autre feuille, je reviens à ma première feuille, je sélectionne puis surprime les lignes qui étaient « OK ».
Ensuite, je lance une autre filtre sur une autre colonne et répète le copier/coller, sélectionner, supprimer.

Le problème que je rencontre est que si dans le premier filtre il n’y a pas de critère « OK » à copier/coller je voudrais que ma macro passe directement au second filtre. (C'est-à-dire dans ma macro ci-dessous de passer de l’étape 1 de l’étape à 4 directement)

Voila se que j’ai écrit … si quelqu’un pouvait me venir en aide.

Merci d’avance.

1/ Premier filtre : Critère Filtre « OK »
Sheets("Feuil1").Select
Range("A2").Select
Selection.AutoFilter
ActiveSheet.Range("$A$2:$L$500").AutoFilter Field:=12, Criteria1:="<>"
Range("A1").Select



2/ Copier/Coller après Filtre « OK »

Copier
Const nomFO = " Feuil1" ' nom de la feuille Origine

Dim lifin As Long
lifin = Range("B" & Rows.Count).End(xlUp).Row
Sheets(nomFO).Range("A3:J" & lifin).Copy

Coller sur Feuil2

Sheets("Feuil2").Select
Range("A1").Select

Dim Ligne, dernière As Integer
Range("A1").Select
For i = 1 To 10
Ligne = Cells(65530, i).End(xlUp).Row
If Ligne > dernière Then dernière = Ligne
Next i
Range("A" & dernière).Offset(1, 0).Select
ActiveSheet.Paste

Range("A1").Select

Sheets("Feuil1").Select
Range("A1").Select


3/ Sélectionner lignes avec filtre « OK » + surprimer

Const nomFO = " Feuil1" ' nom de la feuille Origine

Dim lifin As Long
lifin = Range("B" & Rows.Count).End(xlUp).Row
Sheets(nomFO).Range("A3:J" & lifin).Select

Selection.EntireRow.Delete
Range("A1").Select
End Sub

4/ Second filtre : Critère Filtre ne contient pas «-»

Sheets("Feuil1").Select
Rows("2:2").Select
Selection.AutoFilter
Range("A2").Select

Selection.AutoFilter
ActiveSheet.Range("$A$2:$K$500").AutoFilter Field:=11, Criteria1:="<>*-*", _
Operator:=xlAnd
 
Re : Problème macro critères multiples

Bonjour vba95,
Tu peux, dans une cellule non utilisé que tu masqueras par la suite si nécessaire, mettre la formule
=nb.si("cellules de la colonne L";"OK")

en début de macro tu mets :
If Range("Cellule cible avec formule"). value >= 1 then
Etape 1, 2, 3
End If
Etape 4

C'est une solution, qu'un informaticien trouverais assurément moyenne, mais ça fonctionne. Lol

Bon courage à toi. A plus
 
Re : Problème macro critères multiples

Bonjour JonMist,

Avant tout merci d'accorder un peu de temps à mon problème.
J'ai modifié ma macro avec ta solution mais maintenant j'ai le message suivant :

Erreur d'exécution '13' :
Incompatibilité de type

J'ai fais plusieurs manip en changeant les valeurs numérique en texte et inversement mais rien n'y fait.

As-tu une idée pour ce problème.

Merci d'avance.
 
Re : Problème macro critères multiples

Bonjour vba95,

Aurais tu un fichier d'exemple avec la macro pour voir où ca cloche ?
Sinon, en regardant comme ca, si tu es en texte et non en valeur numérique, essaye de mettre le 1 entre guillemet dans ce que je t'ai dit. (If Range("Cellule cible avec formule").value="1").
Ca peut être ca.
 
Re : Problème macro critères multiples

Bonjour JonMist,

Désolé pour cette réponse tardive
J'ai fais la modification mais toujours le même message d'erreur.
J'ai mis le fichier en pièce jointe.

Merci de ton aide.
 

Pièces jointes

Re : Problème macro critères multiples

Salut vba95,

J'ai regardé ta macro. J'ai viré tous les modules inutile et est aussi les lignes qui n'apportaient rien style les scrollcolum ou les mises en forme sur cellules que sont supprimées après.
Tu retrouveras une solution fonctionnelle, améliorée et lisible dans le module 1 et ta solution initiale qui ne fonctionne pas dans le module 14.
En cas de question n'hésite pas.

A plus.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
804
Réponses
3
Affichages
338
Réponses
8
Affichages
493
Réponses
7
Affichages
163
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
861
Réponses
1
Affichages
495
Retour