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 SubVoila 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.SelectAu 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