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

  • Initiateur de la discussion Initiateur de la discussion thibautxls
  • 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 !

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

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
 
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
 
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
 
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.
 
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
 
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
 
- 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
4
Affichages
58
Retour