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

VBA : If et if not ...

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

M

mathieu64

Guest
Bonjour tout le monde,

J'ai une macro relativement simple :

Sub recherche()
Sheets("Calcul").Select
Ville = Cells(5, 1)
j = 9
For i = 2 To 250
Sheets("Etude").Select
If Cells(6, i) = Ville Then
Club = Cells(7, i)
TypeSport = Cells(9, i)
Sheets("Calcul").Select
Cells(j, 1) = Club
Cells(j, 3) = TypeSport
j = j + 1
End If
Next i
Sheets("Calcul").Select
Range("A5").Select
End Sub


Pour TypeSport, les résultats peuvent être : individuel, collectif, combat, ... Jusqu'à présent, c'était très bien : ces résultats s'affichaient bien. Mais maintenant je voudrais qu'à chaque fois que Typesport = "collectif" cela me sorte, non pas "collectif", mais le résultat qui est ligne 12 et non pas 9, à savoir le niveau où joue ce club de sport collectif.

J'espère avoir été clair. C'est pour ça que je n'ai pas joint de fichier. Merci pour votre aide 😉

Mathieu
 
Re : VBA : If et if not ...

Bonjour mathieu64,

avant tout, il n'est pas nécessaire de sélectionner une feuille pour lire son contenu

par exemple :

Code:
Sub recherche()
Ville = Sheets("Calcul").Cells(5, 1).value
j = 9
For i = 2 To 250
If .Cells(6, i).value = Ville Then
with Sheets("Etude")
Club = .Cells(7, i).value
[B]TypeSport = .Cells(9, i).value[/B]
end with
with Sheets("Calcul")
.Cells(j, 1).value = Club
[B].Cells(j, 3).value = TypeSport[/B]
end with
j = j + 1
End If
Next i
End Sub

sinon, sur le modèle ci-dessus, essaye peut-être :

.Cells(j, 3).value = iif(TypeSport="collectif",Sheets("Etude").cells(12,i).value,Typesport)
 
Re : VBA : If et if not ...

Merci pour ton aide. Ce que tu m'as passé n'a pas marché, mais ça m'a permis de réfléchir un peu plus. Et j'ai fini par réussir. Je suis pour le coup assez fier de moi.

J'ai fait :

Sub recherche()
Sheets("Calcul").Select
Ville = Cells(5, 1)
j = 9
For i = 2 To 250
Sheets("Etude").Select
If Cells(6, i) = Ville Then
Club = Cells(7, i)
TypeSport = Cells(9, i)

If Cells(9, i) = "Collectif" Then
TypeSport = Cells(12, i)
End If


Sheets("Calcul").Select
Cells(j, 1) = Club
Cells(j, 3) = TypeSport
j = j + 1
End If
Next i
Sheets("Calcul").Select
Range("A5").Select
End Sub


Bon vous allez dire ce n'était pas trop dur mais j'ai réussi. héhé
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
530
Réponses
4
Affichages
743
Réponses
5
Affichages
693
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
908
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…