Excel-Copier si cellule pleine
Résolu
EmilieM
Messages postés
22
Statut
Membre
-
visiteur -
visiteur -
Bonjour,
Je souhaiterai savoir si il est possible de faire une macro ou autre afin de ne copier que les cellules pleines.
J'ai une colonne comportant des valeurs mais pas dans toutes les cellules et je souhaiterai copier dans une autre colonne que les cellules pleines et à la suite les unes des autres.
Quelqu'un aurait il une petite idée?
Emilie.
Je souhaiterai savoir si il est possible de faire une macro ou autre afin de ne copier que les cellules pleines.
J'ai une colonne comportant des valeurs mais pas dans toutes les cellules et je souhaiterai copier dans une autre colonne que les cellules pleines et à la suite les unes des autres.
Quelqu'un aurait il une petite idée?
Emilie.
A voir également:
- Si cellule non vide alors copier
- Excel cellule couleur si condition texte - Guide
- Supprimer page word vide - Guide
- Excel si cellule contient partie texte ✓ - Forum Excel
- Nb si ens non vide ✓ - Forum Excel
- Comment copier une vidéo youtube - Guide
6 réponses
re,
une petite remarque :
si tu ne veux pas voir toutes les "animations" de copies des cellules, surtout si tu en as beaucoup, tu peux ajouter la ligne suivante juste avant la déclaration des variables (i.e. les lignes avec Dim) :
Application.ScreenUpdating = False
une petite remarque :
si tu ne veux pas voir toutes les "animations" de copies des cellules, surtout si tu en as beaucoup, tu peux ajouter la ligne suivante juste avant la déclaration des variables (i.e. les lignes avec Dim) :
Application.ScreenUpdating = False
visiteur
tu m'as sauvé la vie mdr
Salut,
je ne sais pas si cela va te convenir, mais je te propose quand même.
tu peux filtrer la colonne en décochant (Vides).
les cellules vides de la colonne ne seront donc plus visibles.
je ne sais pas si cela va te convenir, mais je te propose quand même.
tu peux filtrer la colonne en décochant (Vides).
les cellules vides de la colonne ne seront donc plus visibles.
Salut,
Non cela ne convient pas mais merci quand méme.
Le probléme est que dans le cas que tu me proposes cela me supprime les lignes ne contenant les cellules vides et du coup je me retrouve avec un décallége au niveau des lignes passant de A2 à A45 par exemple or cela n'est pas possible car aprés je reprend c'est données pour des calculs.
Donc au final il me faudrait une macro qui décale ou supprime les cellules vides.
Emilie
Non cela ne convient pas mais merci quand méme.
Le probléme est que dans le cas que tu me proposes cela me supprime les lignes ne contenant les cellules vides et du coup je me retrouve avec un décallége au niveau des lignes passant de A2 à A45 par exemple or cela n'est pas possible car aprés je reprend c'est données pour des calculs.
Donc au final il me faudrait une macro qui décale ou supprime les cellules vides.
Emilie
Salut,
cette fois-ci je te propose une macro!
je l'ai testé et elle fonctionne.
pour ma macro, j'ai considéré que tu travaillais sur la Feuil1 et que tu voulais copier les cellules non vides de la colonne A vers la colonne B.
je te laisse adapter et optimiser selon ton cas.
Sub copie()
Dim cellule As Range
Dim Ligne As String
For Each cellule In Worksheets("Feuil1").Range("A1:A65536")
If Not IsEmpty(cellule) Then
If IsEmpty(Worksheets("Feuil1").Range("B65536").End(xlUp)) Then
Worksheets("Feuil1").Range("B65536").End(xlUp).Select
cellule.Copy Worksheets("Feuil1").Range("B65536").End(xlUp)
Else
Ligne = Worksheets("Feuil1").Range("B65536").End(xlUp).Row
Range("B" & Ligne + 1).Select
cellule.Copy Worksheets("Feuil1").Range("B" & Ligne + 1)
End If
End If
Next cellule
End Sub
Comme l'a dit le grand philosophe Mick Jagger : "Tu ne peux pas toujours avoir ce que tu veux"
Help me to help you!
cette fois-ci je te propose une macro!
je l'ai testé et elle fonctionne.
pour ma macro, j'ai considéré que tu travaillais sur la Feuil1 et que tu voulais copier les cellules non vides de la colonne A vers la colonne B.
je te laisse adapter et optimiser selon ton cas.
Sub copie()
Dim cellule As Range
Dim Ligne As String
For Each cellule In Worksheets("Feuil1").Range("A1:A65536")
If Not IsEmpty(cellule) Then
If IsEmpty(Worksheets("Feuil1").Range("B65536").End(xlUp)) Then
Worksheets("Feuil1").Range("B65536").End(xlUp).Select
cellule.Copy Worksheets("Feuil1").Range("B65536").End(xlUp)
Else
Ligne = Worksheets("Feuil1").Range("B65536").End(xlUp).Row
Range("B" & Ligne + 1).Select
cellule.Copy Worksheets("Feuil1").Range("B" & Ligne + 1)
End If
End If
Next cellule
End Sub
Comme l'a dit le grand philosophe Mick Jagger : "Tu ne peux pas toujours avoir ce que tu veux"
Help me to help you!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question