VBA - Select case (Conditions multiple "fixes")

Bonjour le forum,

Je bloque sur un problème vba.

Je vais essayer de vous exposer le problème du mieux que je peux

J'ai un fichier avec plusieurs feuilles:

- Une feuille de paramètres

- 3 autres feuilles (mag 1, Mag 2 et mag 3), ceux sont les mêmes les feuilles

Ma feuille paramètres dans laquelle j'ai mes produits et le mode de distribution choisi pour chaque magasin. Les feuilles "mag" sont uniquement la pour les calculs.

J'ai donc créé une macro qui permet de de faire une formule en fonction du mode de distribution choisi pour le magasin (Bateau ou Train ou Avion)

Dim ws As Worksheet     

For Each ws In Sheets(Array("mag 1", "mag 2", "mag 3"))     

ws.activate

If Sheets("paramètres").Range("G6") = "Bateau" Then    
Range("K7").Formula = "Ok"    
Elseif range ("G6") = "Train"     
Range("K7").Formula = Qqlch dautre 
Else     Range("K7").Formula = Qqlch dautre encore     

End If 

Je souhaite appliquer une formule à chaque feuille en fonction du mode de distribution choisi sauf que mon mode de distribution varie en fonction du magasin, c'est pourquoi j'ai besoin que ma macro vérifie la celulle "G6" pour le mag 1 puis la celulle "G7" pour le mag 2 et enfin la cellule "G8" pour le mag3.

Et je ne sais comment dire à ma macro de descendre de cellule à chaque fois (G6,G7,G8) qu'elle change de feuille. Je pense que c'est une histoire de boucle en combinaison avec offset mais impossible d'arriver à quelque chose de correct

Je vous joins un fichier

J'espère que c'est clair, parce que pour moi pas trop

Merci d'avance pour votre aide et bonne après midi

Bonjour,

une proposition,

    Dim ws As Worksheet
    c = 5
    For Each ws In Sheets(Array("mag 1", "mag 2", "mag 3"))
        c = c + 1
        With Sheets("paramètres")
            Select Case .Cells(c, "G")
            Case "train"
                ws.Range("K7") = formule1
            Case "bateau"
                ws.Range("K7") = formule2
            Case "avion"
                ws.Range("K7") = formule3
            End Select
        End With
    Next

bonjour

salut au passage h2so4

sans VBA

= SI (hllihjl="TRAIN";calculdelaformuleTrain ; SI (hllihjl="VOITURE";calculdelaformuleVoiture ; SI etc.

formule facile à étendre vers le bas ou à droite.

Hello à vous 2,

Merci beaucoup pour vos réponses,

@h2so4 : Ta solution marche à merveille, je ne connaissais pas du tout cette fonction Elle est top ! Merci

@Jmd: Merci aussi à toi, je connaissais cette solution mais en l'occurence j'ai beaucoup beaucoup de conditions donc cela m'aurait donner une formule de ouf avec notamment beaucoup de RECHERCHEV + INDIRECT + EQUIV ect

Je clos le sujet !

En vous remerciant et vous souhaitant bonne soirée

Rechercher des sujets similaires à "vba select case conditions multiple fixes"