Copier des donnees en supprimant ligne vide

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

arnaudbu

XLDnaute Occasionnel
Bonjour,

J'ai un fichier excel que je rempli avec des données diverses.

J'aimerais faire une macro qui me copie une plage de données de la feuil1 vers la feuil2, à la suite des données existante et en supprimant les lignes vide.

Quelqu'un pourrai t-il m'aider ?

Je joint un exemple

Merci
 

Pièces jointes

Re : Copier des donnees en supprimant ligne vide

Bonsoir Arnaudbu,

arnaudbu à dit:
J'aimerais faire une macro

Au vu de ton exemple très simpliste et peu détaillé, je suppose que tu as des bases en VBA et pourras donc adapté la macro que je vais te donner?

Voici ci-dessous une macro qui fonctionne avec l'exemple fourni

Code:
Sub CopiageSansLigneVide()

Dim LigneFeuil2 As Integer

LigneFeuil2 = 2

[COLOR="Red"][B]With[/B][/COLOR] Sheets("Feuil1")
   
   [COLOR="Blue"][B]For[/B][/COLOR] i = 2 [COLOR="Blue"][B]To[/B][/COLOR] 15
      [COLOR="DarkSlateGray"][B]If[/B][/COLOR] Cells(i, 2) <> "" [COLOR="DarkSlateGray"][B]Then[/B][/COLOR]
         Sheets("Feuil2").Cells(LigneFeuil2, 2) = .Cells(i, 2)
         Sheets("Feuil2").Cells(LigneFeuil2, 3) = .Cells(i, 3)
         LigneFeuil2 = LigneFeuil2 + 1
      [B][COLOR="DarkSlateGray"]End If[/COLOR][/B]
   [COLOR="Blue"][B]Next[/B][/COLOR] i

[COLOR="Red"][B]End With[/B][/COLOR]

End Sub

Bonne soirée
 
Re : Copier des donnees en supprimant ligne vide

Bonjour tous



Du code VBA fabriqué par le macro Recorder et légèrement remanié

Code:
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 05/03/2009 par VBACrumble
'

'
Sheets("Feuil1").Range("B2").CurrentRegion.SpecialCells(xlCellTypeConstants, 23).Copy
Sheets("Feuil2").Range("B2").PasteSpecial xlValues
Application.CutCopyMode = False
End Sub
 
Re : Copier des donnees en supprimant ligne vide

Bonjour à tous,

Bon, j'ai fait cette macro :

Code:
Sub Copie()
With Sheets("Feuil2")
Sheets("Feuil1").Range("B2:C" & Sheets("Feuil1").Range("B65536").End(xlUp).Row).Copy .Range("B65536").End(xlUp)(2)
On Error Resume Next
.Range("B2:B65536").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
.Range("B1:C1").Offset(.Range("B65536").End(xlUp).Row).Borders(xlEdgeTop).LineStyle = xlContinuous 'si l'on veut une bordure
End With
End Sub

Edit : modifié la macro, j'avais oublié "à la suite des données existantes".

A+
 
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

  • Question Question
Microsoft 365 problème d'index
Réponses
19
Affichages
516
Retour