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

Déplacement de cellule

  • Initiateur de la discussion Initiateur de la discussion alan5
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

alan5

XLDnaute Nouveau
Bonjour à toutes et tous,

Sur la globalité d'un tableau Excel constitué de cellules placées sur différentes lignes
(cellules utilisées: jusqu'à 20/25 en horizontal, 40/45 en vertical), je cherche à ce qu'une
cellule choisie puisse passer sur la rangée inférieure juste en dessous (croissance en
allant vers le bas) et soit placée alors à la fin des autres cellules déjà existantes,
positionnée donc le plus à droite de cette rangée.

Je voudrais aussi également, que sur la rangée où s'est enlevée la cellule, la ou les
autres cellules positionnées à droite se déplacent alors sur la gauche afin de combler
l'espace vide (recollées aux autres).

Je voudrais pour cette opération, cliquer sur la cellule concernée (choix), ensuite
cliquer sur Entrée pour que la modification s'effectue automatiquement.

Cela est-il réalisable, ayant une connaissance très restreinte d'Excel ?
Quelle en est la mise en œuvre si cela est possible ?

Un grand merci pour vos solutions et vos implications.
 

Pièces jointes

Dernière édition:
Re : Déplacement de cellule

Re...


(...)
Ceci est-il réalisable ? (...)
Pour deux lignes de plus :​
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Cible As Range, Contremander As Boolean)
Dim i&, liO&, coO&, coD&, CO As Range, CRef As Range, MRef As Range, Echo As Range

    Set CRef = Range("C5:Z74")          'Plage de données. À adapter !

1:  Set Echo = Range("AF5")             'Début de la plage d'"écho".

    Set CO = Cible(1)
    If Not Intersect(CO, CRef) Is Nothing Then
        If Not IsEmpty(CO.Value) Then
            Set MRef = CRef(CRef.Count)
            liO = CO.Row
            If Not IsEmpty(Cells(liO + 1, MRef.Column)) Then MsgBox "Plus de place !": Exit Sub
            coO = CO.Column
            coD = WorksheetFunction.Max(Cells(liO + 1, MRef.Column + 1).End(xlToLeft).Column + 1, CRef(1).Column)
            For i = coO + 1 To MRef.Column
                If IsEmpty(Cells(liO, i)) Then Exit For
            Next
            On Error GoTo E
            With Application: .ScreenUpdating = 0: .EnableEvents = 0: .Calculation = -4135: End With
            CO.Cut Destination:=Cells(liO + 1, coD)

2:          Cells(liO, coO).Offset(Echo.Row - CRef(1).Row, Echo.Column - CRef(1).Column).Value = "X"

            If i > coO + 1 Then
                Cells(liO, coO + 1).Resize(, MRef.Column - coO).Copy Destination:=Cells(liO, coO)
                coO = MRef.Column
            End If
            MRef.Copy Destination:=Cells(liO, coO)
R:          With Application: .Calculation = -4105: .EnableEvents = 1: .ScreenUpdating = 1: End With
        End If
    End If
Exit Sub
E:
    MsgBox "Erreur imprévue !"
    Resume R
End Sub


ROGER2327
#6922


Mardi 17 Haha 141 (Saint Homais d’Aquin, prudhomme - fête Suprême Quarte)
1[SUP]er[/SUP] Brumaire An CCXXII, 4,1909h - pomme
2013-W43-2T10:03:29Z
 
Re : Déplacement de cellule

Merci pour cette réponse rapide. Mais pour l'instant, il y a juste un problème de taille majeur:
je ne maîtrise absolument pas les macros ou tout autre forme de "programmation" dans Excel.
Je suis comme Champollion à ces premières heures devant les hiéroglyphes !
Concrètement, vous est-il possible d'insérer ces données pour que cela devienne opérationnel
ou s'agit-il de l'ébauche pour une ligne parce que ma demande représente en faite un travail
fastidieux, chose que je comprendrais aisément ?
Merci Roger.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
577
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…