Comment copier des cellules uniquement si non vide

Bonjour,

Je souhaite copier des cellules d'un tableau dans un autre, uniquement si elle ne sont pas vide.

En fait le but est d'arriver à une liste sans cellule vide entre 2.

Je n'y arrive pas

Merci d'avance

Bonjour,

Tu peux faire une macro de type copier collage spécial valeur et ensuite faire un tri pour ne pas tenir compte des cellules vides

merci j'ai déjà essayé mais ça ne convient pas....

Bonsoir,

voici une macro à copier dans un module VBA, voir les limites d'utilisation dans les commentaires.

Sub copiesupprimeligne()
' changer source et cible en fonction de ton classeur
Set ws1 = Worksheets("Source")
Set ws2 = Worksheets("Cible")

' on efface le contenu de la feuille cible
ws2.Cells.Clear
' on copie la source dans la cible
ws1.Cells.Copy ws2.Range("A1")

'
With ws2
' dernière ligne du tableau copié, fait l'hypothèse que la dernière ligne de la colonne A
' sera la dernière ligne pour toutes les colonnes
dl = .Range("A" & .Rows.Count).End(xlUp).Row
' on passe en revue chaque ligne à partir de la fin
For i = dl To 1 Step -1
' si on trouve une ligne vide, on la supprime
' on fait l'hypothèse que si la cellule en colonne A est vide, la ligne est vide
If .Cells(i, 1) = "" Then .Rows(i).Delete
Next i
End With

End Sub

merci mais ca ne fonctionne pas.

Je joints en annexe mon fichier

en bref je souhaite diminuer le nombre de ligne par unité (U1, U2, Pédibus....)

merci d'avance...

Nicole


avec le fichier c'est mieux....

bonsoir

voici,

Bonjour,

Ma contribution

3'040nicole67.xlsm (159.80 Ko)

A+

Hello,

Vraiment MERCI INFINIMENT!

C'est exactement ce dont j'ai besoin.

Nicole

Bonjour !

J'ai aussi une question qui ressemble au problème traité ici, mais je ne peux pas utiliser votre solution car je ne colle pas les données dans un onglet vide mais dans une colonne d'un onglet contenant d'autres données. Aussi je ne peux pas supprimer les lignes vides après avoir fait mon "copier-coller"...

L'idée est la suivante :

J'ai des réponses à un questionnaire dans un onglet "Réponses mises en page", les questions sont en colonnes et les réponses en ligne.

Dans certaines colonnes ce sont des réponses à des questions ouvertes, que j'aimerais collecter.

Je voudrais copier les cellules non-vides de la colonne de la question ouverte (onglet "Réponses mises en page", plage "W4:W1000") et les coller dans une colonne d'un autre onglet (onglet "Réglementation", plage "Q5:Q1000") contenant les statistiques des réponses de cette partie du questionnaire.

J'ai essayé un code VBA qui suit mais la définition de "cible" ne fonctionne pas.. (en ayant écrit <>"" dans ma cellule Q1 de la zone de critères)

Sub test_reponses_ouvertes()

Dim cible As Range
cible = Worksheets("Réglementation").Range("Q5:Q1000")

Sheets("Réponses mises en page").Range("W4:W1000").AdvancedFilter _
         Action:=xlFilterInPlace, _
         CriteriaRange:=Sheets("Réglementation").Range("Q1"), _
         CopyToRange:=cible, _
         Unique:=False

End Sub

Des idées ?

Rechercher des sujets similaires à "comment copier uniquement vide"