VBA : If et if not ...

mathieu64

XLDnaute Nouveau
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
 

tototiti2008

XLDnaute Barbatruc
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)
 

mathieu64

XLDnaute Nouveau
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é
 

Discussions similaires

Réponses
0
Affichages
179
Réponses
17
Affichages
927

Statistiques des forums

Discussions
312 555
Messages
2 089 551
Membres
104 210
dernier inscrit
mjub