Incrementer Les colonnes

Bonjour,

Je travaille sur un fichier composée de 52 tableau (autant que les semaines de l’année)

Dans mon code VBA j'isole le numéro de la semaine afin de pouvoir me placer parmis les 52 tableau :

If semaine_courante = "7" Then col_indispo = "AH"

+ 5 colonnes on passe de AH a AM

If semaine_courante = "8" Then col_indispo = "AM"

+5 colonne on passe de AM a AR

If semaine_courante = "9" Then col_indispo = "AR"

Etc etc .......

Or maintenant je souhaite commencer en colonne B et pouvoir incrémenter :

If semaine_courante = "1" Then col_indispo = "B"

+ 5 colonne on passe de B a G

If semaine_courante = "2" Then col_indispo = "G"

Mais écrire les 52 ligne une a une me prendrais un temps fou je cherche donc un moyen plus rapide pour pouvoir ecrire ces ligne de code VBA

Cordialement

voici un code à adapter à tes besoins avec la variable a = ton N° de semaine

lance la macro en pas à pas et observe le déplacement du curseur

Sub try()
For a = 1 To 52
    If a = 1 Then
    Z = 2
    Else
    Z = (a - 1) * 5 + 2
    End If
    Columns(Z).Select
Next a
End Sub

Bonjour à tous,

@ : game over, pourquoi avoir fait un cas particulier pour a=1 ?

col_indispo= (semaine_courante -1)*5+2

Lionel, lorsque tu écris If semaine_courante = "7" tu compares au caractère "7", et non au nombre 7. Ce qui n'a rien à voir...

eric

Bonjour,

Merci d'abord

Je n'ai pas compris ton approche eriiic

Cordialement

eriiic a écrit :

@ : game over, pourquoi avoir fait un cas particulier pour a=1 ?

Parce que je suis bête !

bien vu eriiic

Sub try()
For a = 1 To 52
    Z = (a - 1) * 5 + 2
    Columns(Z).Select
Next a
End Sub

Bonjour,

Merci le macro me permet de parcourir les colonnes

Sauf que je voulais avoir une liste de 52 ligne comme cela avec l'indentation

If semaine_courante = "1" Then Cell_Dispo = "B"

If semaine_courante = "2" Then Cell_Dispo = "G"

If semaine_courante = "3" Then Cell_Dispo = "L"

If semaine_courante = "4" Then Cell_Dispo = "S"

If semaine_courante = "5" Then Cell_Dispo = "X"

If semaine_courante = "6" Then Cell_Dispo = "AC"

If semaine_courante = "7" Then Cell_Dispo = "AH"

If semaine_courante = "8" Then Cell_Dispo = "AM"

If semaine_courante = "9" Then Cell_Dispo = "AR"

Cordialement

Sub try()
Application.ScreenUpdating = False
Dim a As Byte, z As Integer, aa As String, bb As String, cc As String
For a = 1 To 52
    z = (a - 1) * 5 + 2
    aa = Columns(z).Address
    bb = Application.WorksheetFunction.Search(":", aa, 1)
    cc = Mid(aa, 2, bb - 2)
    Cells(a, 1) = "If semaine_courante = " & a & " Then Cell_Dispo = """ & cc & """"
Next a
End Sub

Merci beaucoup Game Over

Rechercher des sujets similaires à "incrementer colonnes"