Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Un code qui ne fonctionne pas :(

SOYA

XLDnaute Occasionnel
Bonjour,

J'ai essayé de bricoler le code suivant (en partant d'un code existant) :

Sub Deplace()
Dim c As Range
For Each c In Range("d5:d" & Range("d3500").End(xlUp).Row)
If Not IsEmpty(Cells(i, 4)) And IsEmpty(Cells(i, 3)) Then
c.Cut c.Offset(-1, -2)
End If
Next c
End Sub

Quand je l'exécute, j'ai le message suivant : "la méthode Range de l'objet _Global a échoué".

Voici le résultat que j'aimerais : exemple : si C15 est vide et que D15 contient quelque chose, alors déplace le contenu de D5 en F14.

Je débute en VBA alors je ne suis pas capable de trouver où ça coince... Pouvez-vous m'aider ? Je joins un petit bout de tableau, si ça peut aider.

Merci beaucoup !
 

Pièces jointes

  • Classeur1.xls
    17 KB · Affichages: 83
  • Classeur1.xls
    17 KB · Affichages: 54
  • Classeur1.xls
    17 KB · Affichages: 59

pierrejean

XLDnaute Barbatruc
Re : Un code qui ne fonctionne pas

bonjour SOYA

A tester:

Code:
Sub Deplace()
Dim c As Range
For Each c In Range("d5:d" & Range("d3500").End(xlUp).Row)
If Not IsEmpty(Cells(c.Row, 4)) And IsEmpty(Cells(c.Row, 3)) Then
Cells(c.Row, 4).Copy Destination:=Cells(c.Row - 1, 6)
Cells(c.Row, 4) = ""
End If
Next c
End Sub
 

Catrice

XLDnaute Barbatruc
Re : Un code qui ne fonctionne pas

Bonjour,

Tu as une erreur car i n'est pas définit.
Tu peux essayer ceci :

Sub Deplace()
For Each X In Range("d5:d" & Range("d3500").End(xlUp).Row)
If X <> "" And X.Offset(0, -1) = "" Then X.Offset(0, 1) = X: X.Value = ""
Next
End Sub

ou

Sub Deplace()
For Each X In Range("d5:d" & Range("d3500").End(xlUp).Row)
If X <> "" And X.Offset(0, -1) = "" Then X.Cut X.Offset(0, 1)
Next
End Sub


Edit : bonjour Pierrejean
 
Dernière édition:

SOYA

XLDnaute Occasionnel
Re : Un code qui ne fonctionne pas

Merci infiniment !

PierreJean, cela fonctionne très bien.

Catrice, cela fonctionne aussi mais j'ai dû modifier la cellule de destination car ce n'était pas la bonne.

Bonne fin de journée
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…