XL 2019 Erreur avec With et copy/paste

uzu1302

XLDnaute Nouveau
Bonjour à tous
Encore besoin de votre aide.
Voici mon code:
VB:
Sub test()
Dim x As Long
For x = 1 To 250 Step 3
With Worksheets("Feuil1").Cells(x, "B" & x)
    .Copy
End With
Next x
Ce que j'essaie de faire :
Couper La date qui se trouve en B et la coller en A+1
Ensuite supprimer la ligne précédente

Je remercie vivement pour votre aide.
Patrick
 

Pièces jointes

  • Excel-2.png
    Excel-2.png
    32.7 KB · Affichages: 16
Solution
Essaye ça, après avoir adapté le 1 de "LigneEnCours = 1" à la bonne valeur :
VB:
Sub Test()
'
Dim LigneEnCours As Integer

    LigneEnCours = 1

    While Range("B" & LigneEnCours).Value <> ""
        Range("A" & LigneEnCours + 1).Value = Range("B" & LigneEnCours).Value
        ActiveSheet.Rows(LigneEnCours).Delete Shift:=xlUp
        LigneEnCours = LigneEnCours + 1
    Wend

End Sub

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
bonjour uzu1302, le forum

pas trop compris ce que vous voulez faire exactement, ensuite vous parlez de supprimer une ligne alors que vous travaillez sur des colonnes ????
voici quelques codes :
le premier copie les valeurs de b en a puis efface b
le deuxième copie les cellules de b en a puis efface b
le troisième coupe b et l'insère en a

Cordialement, @+
VB:
Sub test1()
With Worksheets("Feuil1")
    .Range("A1:A250").Value2 = .Range("B1:B250").Value2
    .Range("B1:B250").ClearContents
End With
End Sub
Sub test2()
With Worksheets("Feuil1")
    .Range("B1:B250").Copy
    .Range("A1:A250").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    .Range("B1:B250").ClearContents
End With
End Sub
Sub test3()
With Worksheets("Feuil1")
    .Range("B1:B250").Cut
    .Range("A1:A250").Insert Shift:=xlToRight
End With
End Sub
 

TooFatBoy

XLDnaute Barbatruc
Essaye ça, après avoir adapté le 1 de "LigneEnCours = 1" à la bonne valeur :
VB:
Sub Test()
'
Dim LigneEnCours As Integer

    LigneEnCours = 1

    While Range("B" & LigneEnCours).Value <> ""
        Range("A" & LigneEnCours + 1).Value = Range("B" & LigneEnCours).Value
        ActiveSheet.Rows(LigneEnCours).Delete Shift:=xlUp
        LigneEnCours = LigneEnCours + 1
    Wend

End Sub
 

uzu1302

XLDnaute Nouveau
Essaye ça, après avoir adapté le 1 de "LigneEnCours = 1" à la bonne valeur :
VB:
Sub Test()
'
Dim LigneEnCours As Integer

    LigneEnCours = 1

    While Range("B" & LigneEnCours).Value <> ""
        Range("A" & LigneEnCours + 1).Value = Range("B" & LigneEnCours).Value
        ActiveSheet.Rows(LigneEnCours).Delete Shift:=xlUp
        LigneEnCours = LigneEnCours + 1
    Wend

End Sub
Grand merci Marcel32 c'est bien ce que je voulais !! 👍
 

Discussions similaires

Statistiques des forums

Discussions
312 074
Messages
2 085 071
Membres
102 770
dernier inscrit
mathieu.lemaitre