Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Condition dans un code VBA

  • Initiateur de la discussion Initiateur de la discussion gerard55
  • 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 !

gerard55

XLDnaute Occasionnel
Bojour à tous
J'ai un code réalisé avec la contribution du forum qui fonctionne très bien. Cependant, ce code qui extrait des données et les classe dans une feuille "effectif" fait sa recherche dans l'ensemble de la base de donnée ("BD"). Je veux pouvoir mettre une condition en amont pour qu'il ne me prenne pas les personnes dont j'aurai renseigné un critère dans une colonne de la base de données. Je ne vois pas très bien ou et comment mettre cette condition.
Merci d'avance pour votre aide.
Gérard

Ci-joint une partie du code. Il y a plusieurs cherche comme celle-ci.

For Each X In Sheets("BD").Range(Sheets("BD").Range("bs2"), Sheets("BD").Range("cg65536").End(xlUp))
With Sheets("effectif")

Select Case X
Case [g61]
.Range("j5").Offset(0, 0) = X.Offset(0, 0)
.Range("j25").End(xlUp).Offset(1, 1) = X.Offset(0, 14)
.Range("j25").End(xlUp).Offset(1, 0) = X.Offset(0, -69) & " " & X.Offset(0, -68)
Case [g62]
.Range("j26").Offset(0, 0) = X.Offset(0, 0)
.Range("j43").End(xlUp).Offset(1, 1) = X.Offset(0, 14)
.Range("j43").End(xlUp).Offset(1, 0) = X.Offset(0, -69) & " " & X.Offset(0, -68)
Case [g63]
.Range("j44").Offset(0, 0) = X.Offset(0, 0)
.Range("j59").End(xlUp).Offset(1, 1) = X.Offset(0, 14)
.Range("j59").End(xlUp).Offset(1, 0) = X.Offset(0, -69) & " " & X.Offset(0, -68)
End Select
End With
Next
 
Re : Condition dans un code VBA

Bonjour à tous,

Tu es certain qu'il ne manque pas un bout :

For Each X In Sheets("BD").Range(Sheets("BD").Range("bs2"), Sheets("BD").Range("cg65536").End(xlUp))

Voir avec :

For Each X In Sheets("BD").Range(Sheets("BD").Range("bs2"), Sheets("BD").Range("cg65536").End(xlUp).Row)

Mais cela ne répond pas à ta demande : je n'ai pas compris la demande. (NONDidiercen'estpasunrestedesCitronsVertsd'hiersoir. Private Joke...)

A+ à tous

Edition : Salut Robert
 
Re : Condition dans un code VBA

Bonjour le fil, bonjour le forum,

Non JCGL, la ligne est correcte (quoique bizarre...)
Code:
For Each X In Sheets("BD").Range(Sheets("BD").Range("bs2"), Sheets("BD").Range("cg65536").End(xlUp))
'For Each X in Range(Cellule de début, Cellule de fin)
J'aurais plutôt écrit :
Code:
With Sheets("BD")
     dl = .Cells(Application.Rows.Count, "CG").End(xlUp).Row
     For Each X In .Range("BS2:CG" & dl)
End With
Mais cette ligne est juste...
 
Re : Condition dans un code VBA

Bonjour,
Je suis d'accord avec vous Robert un fichier est le plus simple pour aider à la compréhension. Mais, ce n'est pas évident de réduire ce fichier. Je regarde ce que je peux envoyer qui serait plus explicite
A+
Gérard
 
Re : Condition dans un code VBA

Bonjour le fil, bonjour le forujm,

Gérard, plutôt que d'essayer de réduire ton fichier je te recommande de partir d'un fichier vierge, renommer les onglets comme dans ton original, idem pour d'éventuelles plage nommées, copier les contrôles et le code et juste une poignée de données qui participent à la macro. Normalement, ca devrait le faire...
 
Re : Condition dans un code VBA

Bonjour Robert
Merci de t'intéresser à ma demande. Ci-joint un fichier. Je veux que la macro s'exécute normalement mais, je veux créer une deuxième option où les noms dont les critères (SS ou PS ou FA) sont renseigner dans la colonne Q de la feuille BD ne soient pas pris en compte.
Merci d'avance
a+
Gérard
 

Pièces jointes

Dernière édition:
- 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
4
Affichages
754
Réponses
3
Affichages
922
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…