Simplification de code

bonjour, j'ai fais ce code qui fonctionne mais je n'arrive pas à le simplifier

If Range("D2").Value = 1 Then

                    If Range("D3").Value = 1 Then
                    Sheets("Base de donnée").Select
                    Range("E3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 2 Then
                    Sheets("Base de donnée").Select
                    Range("F3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 3 Then
                    Sheets("Base de donnée").Select
                    Range("G3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 4 Then
                    Sheets("Base de donnée").Select
                    Range("H3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 5 Then
                    Sheets("Base de donnée").Select
                    Range("I3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 6 Then
                    Sheets("Base de donnée").Select
                    Range("J3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 7 Then
                    Sheets("Base de donnée").Select
                    Range("K3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 8 Then
                    Sheets("Base de donnée").Select
                    Range("L3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 9 Then
                    Sheets("Base de donnée").Select
                    Range("M3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 10 Then
                    Sheets("Base de donnée").Select
                    Range("N3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 11 Then
                    Sheets("Base de donnée").Select
                    Range("O3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 12 Then
                    Sheets("Base de donnée").Select
                    Range("P3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 13 Then
                    Sheets("Base de donnée").Select
                    Range("Q3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 14 Then
                    Sheets("Base de donnée").Select
                    Range("R3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 15 Then
                    Sheets("Base de donnée").Select
                    Range("S3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 16 Then
                    Sheets("Base de donnée").Select
                    Range("T3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 17 Then
                    Sheets("Base de donnée").Select
                    Range("U3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 18 Then
                    Sheets("Base de donnée").Select
                    Range("V3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 19 Then
                    Sheets("Base de donnée").Select
                    Range("W3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 20 Then
                    Sheets("Base de donnée").Select
                    Range("X3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 21 Then
                    Sheets("Base de donnée").Select
                    Range("Y3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 22 Then
                    Sheets("Base de donnée").Select
                    Range("Z3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 23 Then
                    Sheets("Base de donnée").Select
                    Range("AA3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 24 Then
                    Sheets("Base de donnée").Select
                    Range("AB3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 25 Then
                    Sheets("Base de donnée").Select
                    Range("AC3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 26 Then
                    Sheets("Base de donnée").Select
                    Range("AD3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 27 Then
                    Sheets("Base de donnée").Select
                    Range("AE3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 28 Then
                    Sheets("Base de donnée").Select
                    Range("AF3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 29 Then
                    Sheets("Base de donnée").Select
                    Range("AG3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 30 Then
                    Sheets("Base de donnée").Select
                    Range("AH3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 31 Then
                    Sheets("Base de donnée").Select
                    Range("AI3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 32 Then
                    Sheets("Base de donnée").Select
                    Range("AJ3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 33 Then
                    Sheets("Base de donnée").Select
                    Range("AK3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 34 Then
                    Sheets("Base de donnée").Select
                    Range("AL3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 35 Then
                    Sheets("Base de donnée").Select
                    Range("AM3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 36 Then
                    Sheets("Base de donnée").Select
                    Range("AN3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 37 Then
                    Sheets("Base de donnée").Select
                    Range("AO3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 38 Then
                    Sheets("Base de donnée").Select
                    Range("AP3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 39 Then
                    Sheets("Base de donnée").Select
                    Range("AQ3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 40 Then
                    Sheets("Base de donnée").Select
                    Range("AR3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 41 Then
                    Sheets("Base de donnée").Select
                    Range("AS3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 42 Then
                    Sheets("Base de donnée").Select
                    Range("AT3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 43 Then
                    Sheets("Base de donnée").Select
                    Range("AU3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 44 Then
                    Sheets("Base de donnée").Select
                    Range("AV3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 45 Then
                    Sheets("Base de donnée").Select
                    Range("AW3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 46 Then
                    Sheets("Base de donnée").Select
                    Range("AX3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 47 Then
                    Sheets("Base de donnée").Select
                    Range("AY3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 48 Then
                    Sheets("Base de donnée").Select
                    Range("AZ3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 49 Then
                    Sheets("Base de donnée").Select
                    Range("BA3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 50 Then
                    Sheets("Base de donnée").Select
                    Range("BB3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 51 Then
                    Sheets("Base de donnée").Select
                    Range("BC3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 52 Then
                    Sheets("Base de donnée").Select
                    Range("BD3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 53 Then
                    Sheets("Base de donnée").Select
                    Range("BE3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 54 Then
                    Sheets("Base de donnée").Select
                    Range("BF3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 55 Then
                    Sheets("Base de donnée").Select
                    Range("BG3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 56 Then
                    Sheets("Base de donnée").Select
                    Range("BH3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 57 Then
                    Sheets("Base de donnée").Select
                    Range("BI3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 58 Then
                    Sheets("Base de donnée").Select
                    Range("BJ3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 59 Then
                    Sheets("Base de donnée").Select
                    Range("BK3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 60 Then
                    Sheets("Base de donnée").Select
                    Range("BL3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 61 Then
                    Sheets("Base de donnée").Select
                    Range("BM3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 62 Then
                    Sheets("Base de donnée").Select
                    Range("BN3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

                    ElseIf Range("D3").Value = 63 Then
                    Sheets("Base de donnée").Select
                    Range("BO3").Select
                    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                            :=False, Transpose:=False

End If

Merci

Bonjour,

A adapter

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
For i = 1 To 63
    If i = Range("D3").Value Then
   Range("A1").Value = Cells(3, 4 + i).Value
   End If
Next i
End Sub

bonjour,

Moi je l'ai compris comme ça :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i%
With Sheets("Base de donnée")
If Range("D2").Value = 1 Then
For i = 1 To 63
    If i = Range("D3").Value Then
   .Cells(3, 4 + i).Value = .Cells(3, 4 + i)
   End If
Next i
End If
End With
End Sub

Là encore c'est à adapter et ça ne fonctionne que si D3 est modifié par l'utilisateur. Si D3 est le résultat d'une formule ça ne marche pas. dans ce cas il faut utiliser Calculate...

C'est l'inconvénient de ne donner qu'une partie du code...

A+

Je vous joins le fichier , la macro est dans la feuille "TAD" bouton "Valider" (Macro 6). Merci

17essai.xlsm (210.14 Ko)

Bonsoir,

Pour le coup ça devient complètement incompréhensible.

Je passe la main.

A+

Bonjour galopin01, qu'est ce qui est incomprehensible?

Rechercher des sujets similaires à "simplification code"