Macro variable en fonction de la valeur d'une cellule

Bonjour

j'aimerais savoir s'il est possible de simplifier ce code qui par ailleurs marche très bien

If Range("B1") = "48" Then

Extraction48

ElseIf Range("B1") = "47" Then

Extraction47

ElseIf Range("B1") = "46" Then

Extraction46

ElseIf Range("B1") = "45" Then

Extraction45

ElseIf Range("B1") = "44" Then

Extraction44

ElseIf Range("B1") = "43" Then

Extraction43

ElseIf Range("B1") = "42" Then

Extraction42

ElseIf Range("B1") = "41" Then

Extraction41

ElseIf Range("B1") = "40" Then

Extraction40

ElseIf Range("B1") = "39" Then

Extraction39

ElseIf Range("B1") = "38" Then

Extraction38

ElseIf Range("B1") = "37" Then

Extraction37

ElseIf Range("B1") = "36" Then

Extraction36

End If

etc.....

quelque chose de ce style est il possible ou non ?

' 'executer la macro extraction en fonction du numero en B1

numero = range("b1")

call extraction & numero

j'ai bien essayé mais ca ne marche pas sinon je v etre obligé de me taper 300 lignes de code...

Essaie ceci :

Run MaVariable

avec au préalable

MaVariable = extraction & numero

Non ca ne marche pas non plus....

Bonjour,

Un exemple à étudier.

Test effectué avec les chiffres de 1 à 4.

Cdlt.

9nicolas21000.xlsm (15.68 Ko)
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$B$1" And Target.Value <> vbNullString Then
        On Error Resume Next
        Run "Extraction" & Target.Value
        If Err <> 0 Then
            MsgBox "Erreur " & Err.Number & " :" & Chr(13) & Err.Description
        End If
        Err.Clear
    End If

End Sub

Je te remercie beaucoup c parfait !

j'aurais jamais pu le faire tt seul !

edit: ct pas exactement ce que je voulais meme si ca marche...

Nicolas21000 a écrit :

Non ca ne marche pas non plus....

ah bon !

et avec

MaVariable = "extraction" & numero

?

voilà ma formule qui a finalement marché

Numero = cells(1, 2)

Run "'" & "Extraction" & Numero & "'"

Merci pour le tuyau

Rechercher des sujets similaires à "macro variable fonction valeur"