Simplification code basique très lourd

bonjour,

pourriez vous me dire comment simplifier ce bout de code très lourd:

'bank 1
 If Range("L4") = 1 Then
Range("aa9").Value = Range("O4").Value  ' nom programme
Range("aa11:aa99").Value = Range("z11:z99").Value ' valeurs
End If

'bank 2
 If Range("L4") = 2 Then
Range("ab9").Value = Range("O4").Value  ' nom programme
Range("ab11:ab99").Value = Range("z11:z99").Value ' valeurs
End If

'bank 3
 If Range("L4") = 3 Then
Range("ac9").Value = Range("O4").Value  ' nom programme
Range("ac11:ac99").Value = Range("z11:z99").Value ' valeurs
........

en sachant que l4 va de 1 à 78 , et que je ne veux pas répéter 78 fois ces lignes ?

(aa= colonne 1 et cz = colonne 78)

merci beaucoup

bonsoir,

essaie :

Sub test()
Dim k%
For k = 1 To 78
   If Range("L4") = k Then
      Range(Cells(9, 26 + k)) = Range("O4")
      Range(Cells(11, 26 + k), Cells(99, 26 + k)) = Range("z11:z99")
      Exit For
   End If
Next
End Sub

A+

salut, la macro plante sur "cellse", vba ne reconnait pas cette commande (fonction non definie)

Oups !

Je ne sais pas d'où sorte ces "e" indésirables... Sans doute un problème de Copier/Coller.

Reprendre le code ci-dessus corrigé.

A+

ça plante encore , je te joins la capture du msg

dann dann

Désolé...

Sub test()
Dim k%
For k = 1 To 78
If Range("L4") = k Then
Cells(9, 26 + k) = Range("O4")
Range(Cells(11, 26 + k), Cells(99, 26 + k)) = Range("z11:z99")
Exit For
End If
Next
End Sub

super, merci, je note et conserve cela précieusement

juste ajouter .value pour que ça tourne:

Range(Cells(11, 26 + k), Cells(99, 26 + k)).Value = Range("z11:z99").Value

bonne soirée

Rechercher des sujets similaires à "simplification code basique tres lourd"