Deplacer cellule vers le bas

Bonjour a tous, dans une colonne, pour la cellule pointée par la variable i, je voudrais deplacer vers le bas, d'une ligne.

Salut,

Tu as la bougeotte !

Explique mieux ton propos, parce que une insertion (question déjà évoquée) a pour effet de déplacer la cellule vers le bas mais en se décalant de sa ligne d'origine, de même qu'en décalant toutes les cellules suivantes dans la colonne de la même façon.


Si c'est le pointeur que tu veux déplacer, si tu utilises i comme compteur de boucle pour passer d'une ligne à la suivante, à chaque incrémentation il passera à la ligne suivante.


Et si dans une boucle lorsque tu pointes sur la ligne i tu veux atteindre la ligne en dessous, tu utilises i+1 !

Salut, oui je vais de l'avant.

Pour etre plus précis, si la cellule de la colonne i est de couleur rose (22), je veux prendre les cellules de colonne A a J de cette ligne et les déplacer vers le bas d'une ligne. La variable I désigne la ligne courante.

Tu fais :

Range("A" & i).Resize(, 10).Insert xlShiftDown

Mais tu auras une ligne i de A à J vide, ta ligne sera en i+1, et toutes celles en dessous seront également décalées.

Il ne faudrait pas que j'ai la ligne vide en i. Faudrait-il faire un genre de couper coller.

Je ne comprend pas le resize 10, comment ca marche.

C'est pour dimensionner : tu as bien 10 colonnes de A à J.

Exprime-toi clairement sur ce que tu veux faire ! Si tu enlèves la ligne de A à J, elle est enlevée il n'y a rien.

Alors quel doit être le résultat final ?

J'ai peut etre mal saisi, en effet je ne veux pas que la ligne soit encore présente. J'ai essayé de tester mais mon sub a fait des dégats, je te redonne des nouvelles sur ca.

Merci!

Puisque ta méthode laisse une ligne vide, j'ai essayé ceci car je ne veut pas de ligne vide. Par contre mon instruction .paste me donne une erreur. Si tu as une idéé.

Sub décaler() 'on decale de 1 vers le bas les cellules vertes suivant la cellule rouge courante

 limit1 = UBound(tablo1, 1) 'derniere cellule du tableau
 limit2 = UBound(tablo2, 1) 'derniere cellule du tableau
 Application.EnableEvents = False
 For i2 = 1 To limit2 'pour chacune des mnémonique du tableau 2
    If Sheets("ASS2").Cells(i2 + 2, 9).Interior.ColorIndex = 22 Then   'si couleur rose
        Sheets("ASS").Range("A" & i2 + 2 & ":J" & i2 + 2).Insert Shift:=xlDown
        Sheets("ASS").Cells(i2 + 2, 9).Interior.ColorIndex = 22
          For i = i2 To limit2
              If Sheets("ASS2").Cells(i + 2, 9).Interior.ColorIndex = 4 Then
                 Sheets("ASS2").Range("A" & i + 2 & ":J" & i + 2).Cut 'on prend cette ligne
                 Sheets("ASS2").Range("A" & i + 3 & ":J" & i + 3).Paste   'on l'a colle ici
              End If
          Next i
    End If
 Next i2
 Application.EnableEvents = True

End Sub

Ne mélangeons pas !

Ma méthode ne laisse pas de ligne vide ! Ma méthode attend simplement que tu exprimes ce que tu veux obtenir au final.

Je ne vais pas l'inventer. Si tu dis ce que tu veux, je te dis comment l'écrire.

Pour le moment je t'ai juste fait remarquer que ce que exprimais enlevait quelque chose sans rien mettre à la place.

C'est tout.

D'accord! de mon coté, je dois vérifier des choses pour m'assurer que ma demande est ce que j'ai besoin, je ne suis plus certain.

Je te reviens quand j'aurai demeler.

A+

Démêle ! Mais débouche sur quelque chose !

Rechercher des sujets similaires à "deplacer bas"