VBA - Déplacer des cellules et leurs contenus en fonction de variables

thibautxls

XLDnaute Nouveau
Mesdames, messieurs,

Nouveau sur le site, j'aurais aimé avoir vos lumières sur un point VBA et notamment la manière de déplacer des cellules en fonction de variables.
Je m'explique:
Je suis en train de faire différentes macro appliquées à une base de données pour obtenir, en bout de chaîne, un tableau "propre" et "friendly". Et là, je bloque car il faudrait que je déplace certaines cellules et leur contenu d'une colonne sur la gauche (toujours sur la même ligne) afin de pouvoir supprimer la colonne qui comprenait ces données auparavant.
Mais la place de ces cellules varies en fonction des données que je souhaite incorporer au sein du tableau. Donc les définir en tant que "Variables" me paraît logique et dès qu'elles apparaissent, elles bougent.
Mais je n'arrive pas à les faire bouger et bien définir l'action à leur appliquée.

si l'explication n'est pas des plus claire, je vous joint un fichier à titre d'exemple où il y a le tableau "presque" fait.

D'avance merci pour votre aide, qui, je n'en doute pas, sera des plus précieuses.
 

Pièces jointes

  • Décaler_cellules.xlsx
    9.2 KB · Affichages: 221

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : VBA - Déplacer des cellules et leurs contenus en fonction de variables

Bonjour Thibaut, et bienvenue sur le forum,

essaie ce code:
Code:
Sub deplace()
Dim cel As Range
For Each cel In Range("D1:D" & Range("D65535").End(xlUp).Row)
If Left(cel, 5) = "Total" Then
    cel.Select
    Selection.Cut Destination:=cel.Offset(0, -3)
End If
Next cel
End Sub
à+
Philippe
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : VBA - Déplacer des cellules et leurs contenus en fonction de variables

Re,

après avoir relu la question, remplace:
Selection.Cut Destination:=cel.Offset(0, -3)

par:
Selection.Cut Destination:=cel.Offset(0, -1)

à+
Philippe
 

thibautxls

XLDnaute Nouveau
Re : VBA - Déplacer des cellules et leurs contenus en fonction de variables

Philippe,

Je n'ai pas de mots pour te remercier tellement je suis content que cela marche, car cela faisait un petit bout de temps que je cherchais
Ne t'inquiète pas j'avais effectué la modification.

Merci beaucoup,
Bonne journée
 

thibautxls

XLDnaute Nouveau
Re : VBA - Déplacer des cellules et leurs contenus en fonction de variables

Philippe,

J'aurais aimé avoir une autre petite précision concernant ton code.
Comment puis-je faire pour que les cellules qui ont été décalées fusionnent avec les cellules vides de la même ligne du tableau pour que cela apparaissent un peu comme un "titre"??
J'ai essayé de différentes manières et notamment "Section.Merge" mais au final tout le tableau fusionne....et donc disparaît.

Merci d'avance si tu peux m'apporter une quelconque précision.
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : VBA - Déplacer des cellules et leurs contenus en fonction de variables

Re,

avec ceci pour fusionner et centrer:
Code:
Sub deplace()
Dim cel As Range
For Each cel In Range("D1:D" & Range("D65535").End(xlUp).Row)
If Left(cel, 5) = "Total" Then
    Range(cel.Offset(0, -3), cel).Select
    Selection.Merge
    Selection.HorizontalAlignment = xlCenter
End If
Next cel
End Sub

à+
Philippe
 

thibautxls

XLDnaute Nouveau
Re : VBA - Déplacer des cellules et leurs contenus en fonction de variables

Philippe,

De nouveau tu me libères d'un grand poids. Merci beaucoup "It works".
Elle ne devrait pas être trop moche cette macro une fois qu'elle sera finie.

Encore une fois, MERCI.

A bientôt
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 345
Membres
102 868
dernier inscrit
JJV