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

Suppression lignes vides, mais conservation du format, du contenu cellules déplacées

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

VIARD

XLDnaute Impliqué
Bonjour à toutes et tous

J'ai réalisé une petite procédure pour supprimer des lignes vides dans une plage de cellules (donc plusieurs colonnes).
cette réalisation fonctionne très bien tant que le format reste le même.

Pb: je veux conserver les différents formats lors des déplacements des contenus.

J'ai placé un fichier exemple (nota: autour de cette plage les données ne doivent pas bouger)
 

Pièces jointes

Re : Suppression lignes vides, mais conservation du format, du contenu cellules dépla

ReBonjour Laetitia

Désolé, Le test me provoque une erreur 400.

je pense réécrire mon test.

Salutation

Jean-Paul
 
Re : Suppression lignes vides, mais conservation du format, du contenu cellules dépla

re, Job, Laetitia et à tous

Merci infiniment, je vais épluché ce code.
Je n'ai pas pensé à cette solution. Ca fonctionne super bien.

merci beaucoup, et bon WK

Jean-Paul
 
Re : Suppression lignes vides, mais conservation du format, du contenu cellules dépla

Bonjour VIARD, le forum,

On peut utiliser un seul bouton et une seule macro :

Code:
Private Sub CommandButton1_Click()
Dim test As Boolean, a, i&, n&
With CommandButton1
  test = .Caption Like "S*"
  .Caption = IIf(test, "Insérer", "Supprimer") & " lignes vides"
  .ForeColor = IIf(test, &HFF&, &H8000&) 'rouge, vert
End With
a = Array(2, 4, 6, 8, 10, 12, 18) 'position des lignes
Application.ScreenUpdating = False
Workbooks.Add 'nouveau document
With ActiveWorkbook.Sheets(1)
  [Tableau].Copy .[A1]
  .Cells.ClearContents
  .Cells.Interior.ColorIndex = xlNone
  For i = 1 To [Tableau].Rows.Count
    If [Tableau].Cells(i, 1) <> "" Then
      n = n + 1
      [Tableau].Rows(i).Copy .Cells(IIf(test, n, a(n - 1)), 1)
    End If
  Next
  .[A1].Resize([Tableau].Rows.Count, [Tableau].Columns.Count).Copy [Tableau]
  ActiveWorkbook.Close False
End With
End Sub
Nota : le bouton est un bouton ActiveX.

Fichier (3).

A+
 

Pièces jointes

Re : Suppression lignes vides, mais conservation du format, du contenu cellules dépla

Bonjour Job

C'est super le travail effectué.
Effectivement je préparais une manip avec un seul bouton.
Il n'y a qu'un bémol, je ne connais jamais la position des données dans cette plage.
Seul indice leur nombre est connu en "A7"
J'ai tenté des manips en deletant les lignes vides sur le classeur auxilliaire.

En tout cas super travail Job

amicalement

Jean-Paul
 
Re : Suppression lignes vides, mais conservation du format, du contenu cellules dépla

Bonjour mapomme, Job et Tous

Super solution, Je commençais à me faire des noeuds au cerveau.
Et la solution du tableau intermédiaire est également génial on n'y pense pas assez souvent.
Je retiens les 2 solutions, vue que j'ai des tableaux un peu partout.

Merci à tous

amicalement

Jean-Paul
 
Re : Suppression lignes vides, mais conservation du format, du contenu cellules dépla

Bonjour le forum,

Erreur dans le fichier v2 (aussi grosse que moi!)
Voir version 3.
Code:
Sub SupprLigne()
Dim Source As Range, Ncol

Set Source = Nothing
On Error Resume Next
Set Source = Application.InputBox("Sélectionner la zone à traiter ?:", Type:=8)
If Source Is Nothing Then Exit Sub
On Error GoTo 0

Source.Columns("A").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Ncol = Source.Columns.Count
Set Source = Source.Offset(0, -1).Resize(, Source.Columns.Count + 1)
Source.Columns("A").FormulaR1C1 = "=IF(COUNTBLANK(RC[1]:RC[" & Ncol & "])=" & Ncol & ",""""," & "Row())"
Source.Columns("A").Value = Source.Columns("A").Value
Source.Sort key1:=Source(1, 1), order1:=xlAscending, Header:=xlNo
Source.Columns("A").Delete Shift:=xlToLeft
End Sub
 

Pièces jointes

Dernière édition:
Re : Suppression lignes vides, mais conservation du format, du contenu cellules dépla

Re, salut mapomme,

Il n'y a qu'un bémol, je ne connais jamais la position des données dans cette plage.

Cette version (4) traite tous les tableaux nommés Tableaun :

- les tableaux avec lignes vides sont mémorisés dans la feuille Mémorisation

- par sécurité les tableaux sans lignes vides ne peuvent pas être modifiés

- par sécurité encore, la feuille Mémorisation est protégée (mot de passe VIARD).

A+
 

Pièces jointes

Re : Suppression lignes vides, mais conservation du format, du contenu cellules dépla

re Job, mapomme et à tous

Merci Job, pour tous tes efforts il y a vraiment beaucoup de solution.
Je viens de voir avec la fonction "Sort" de "mapomme" que l'on pouvait déplacer les formats.
comme quoi excel est plein de ressource.

Encore merci à tous

amicalement

Jean-Paul
 
Re : Suppression lignes vides, mais conservation du format, du contenu cellules dépla

Re,

Effectivement trier les tableaux est une bonne idée, la macro est plus simple.

Le fait que l'ordre des lignes est modifié ne paraît guère gênant puisqu'on peut revenir à l'état d'origine.

Fichier (5).

Edit : il fallait [A5].Select à la fin de la macro du bouton, et j'ai masqué la feuille Mémorisation.

A+
 

Pièces jointes

Dernière édition:
- 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

N
Réponses
9
Affichages
6 K
pierre0000
P
Y
Réponses
8
Affichages
1 K
Y
V
Réponses
2
Affichages
2 K
vivi4561
V
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…