Problème avec code pour changer de colonne

Bonsoir à toutes et tous,

Voila j'ai essayé de construire un code pour changer de colonne lorsqu'il y a une cellule (en l'occurrence la ligne 43 sur les colonnes de A à AS) qui a une valeur.

le temps que cette cellule n'a pas de valeur, le curseur doit se positionner sur la colonne, dès que la cellule est remplie, le curseur doit se positionner sur la colonne de droite sur la première cellule vide.

Je vous joins mon code

Sub provisoire()

    If Range("AD8") = "2019" Then
    Range("AD8") = "2013"

    ElseIf Range("AD9").Copy Then
    Range("AD8").Select
    Selection.PasteSpecial Paste:=xlPasteValues
 End If

    Range("AE15").Copy

    Sheets("Feuil2").Select

    If Not IsEmpty(Range("J43").Value) Then
    Range("K65536").End(xlUp)(2).Select
    ElseIf Range("J65536").End(xlUp)(2).Select Then

    ElseIf Not IsEmpty(Range("K43").Value) Then
    Range("L65536").End(xlUp)(2).Select
    ElseIf Range("K65536").End(xlUp)(2).Select Then

    ElseIf Not IsEmpty(Range("L43").Value) Then
    Range("M65536").End(xlUp)(2).Select
    ElseIf Range("L65536").End(xlUp)(2).Select Then

    ElseIf Not IsEmpty(Range("M43").Value) Then
    Range("N65536").End(xlUp)(2).Select
    ElseIf Range("M65536").End(xlUp)(2).Select Then

    ElseIf Not IsEmpty(Range("N43").Value) Then
    Range("O65536").End(xlUp)(2).Select
    ElseIf Range("N65536").End(xlUp)(2).Select Then

    ElseIf Not IsEmpty(Range("O43").Value) Then
    Range("P65536").End(xlUp)(2).Select
    ElseIf Range("O65536").End(xlUp)(2).Select Then
    End If

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, transpose:=False

End Sub

Voila est ce que quelqu'un pourrait me dire ce qui cloche dans ce code, je suis preneur

Merci d'avance de votre aide

Cordialement

DUBDUB22

Bonjour,

pas sûr d'avoir compris :

    Dim c As Range
    Set c = Cells(43, Columns.Count).End(xlToLeft) 'dernière cellule utilisée de la ligne 43
    Set c = c.Offset(, 1).End(xlUp).Offset(1) ' 1ère cellule dispo colonne suivante (sauf ligne 1)
    c.Select

Au passage éviter tous les .Select inutiles, soit 99% des cas

eric

Bonjour Eric,

Merci pour ta réponse, tu as très bien compris, ton code fonctionne à merveille, et cela est exactement ce que je cherchais à faire, mais hélas pour moi je pense que je faisais compliqué, ton code est beaucoup plus court que le mien, quand ont est amateur on n'y reste

Pour ce qui est du ".Select", je pensais qu'il fallait qu'après un Range il fallait mettre, soit ".Copy ou .Value ou .Select", maintenant je saurais.

Je te remercie encore, et te souhaites une bonne année 2020.

Cordialement

Dubdub22

Rechercher des sujets similaires à "probleme code changer colonne"