Autres Recopier plage de cellules pleines sans les cellules vides

Caninge

XLDnaute Accro
Bonjour,

ce n'est pas faute d'avoir cherché sur le forum la solution à mon problème.
Je me fie donc à vos connaissances pour résoudre mon problème.
Comment recopier les cellules pleines de la feuille 1 dans la feuille 2 sans prendre en compte les cellules vides.
Surement simple mais...

Cher excelliens merci de se pencher sur mon fichier.

CANINGE
 

Pièces jointes

  • recopier cellules pleines sans les cellules vides.xlsx
    8.1 KB · Affichages: 20

patricktoulon

XLDnaute Barbatruc
bonjour
pourquoi ne pas filtrer????????
tu remplace "$C$2:$C$12" par le nom de ta plage

copy destination ne pouvant pas être transposé avec des cellules non contiguës
ET SANS PASTE !!!!! donc pas besoins d’être sur une des feuilles concernées
LE filtre est enlever tout de suite
VB:
Sub test()
    Dim x&
With Feuil1.Range("$C$2:$C$12")' Feuil1.Range("TOTO")
        .AutoFilter Field:=1, Criteria1:=">0"
        For Each cel In .SpecialCells(xlVisible)
            With Feuil2.[C3].Offset(, x): .NumberFormat = "0.00%": .Value = cel.Value: x = x + 1: End With
        Next
        .AutoFilter
    End With
End Sub

on aurait pus boucler sur les cells sans filtre mais sur une liste plus longue la différence en terme de temps se fait sentir
;)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,

Une autre piste ?:
VB:
Sub test()
Dim t, n&, i&
   With Feuil1: t = .Range(.Cells(2, "c"), .Cells(.Rows.Count, "c").End(xlUp)): End With
   For i = 1 To UBound(t)
      If Len(t(i, 1)) > 0 Then n = n + 1: t(n, 1) = t(i, 1)
   Next i
   If n > 0 Then
      Feuil2.Range("c2").Resize(, n) = Application.Transpose(t)
      Feuil2.Range("c2").Resize(, n).NumberFormat = "0.00%"
   End If
End Sub
 

job75

XLDnaute Barbatruc
Bonjour à tous,
VB:
Sub Copier()
On Error Resume Next 'si aucune SpecialCell
With Feuil2.[C2]
    .Resize(, .Parent.Columns.Count - .Column + 1).ClearContents 'RAZ
    Feuil1.[C:C].SpecialCells(xlCellTypeConstants, 1).Copy
    .PasteSpecial xlPasteAll, Transpose:=True
End With
Application.CutCopyMode = 0
End Sub
A+
 

Caninge

XLDnaute Accro
Bonjour à tous,

vous allez me dire que je suis embêtant, mais je préférerai uns solution sans VBa et sans filtre.
uniquement par une formule.
Dans le genre du fichier joint que d'ailleurs je n'ai pas pu adapter.

Merci
 

Pièces jointes

  • Liste sans blanc.xls
    19.5 KB · Affichages: 7

mdo100

XLDnaute Occasionnel
Bonjour à toutes et tous,
@Caninge,

En "Feuil2" cellule "C2".
VB:
=SIERREUR(INDEX(pts_perdus_Chantal;PETITE.VALEUR(SI(pts_perdus_Chantal<>"";LIGNE(pts_perdus_Chantal)-1);COLONNE()-2));"")
Formule matricielle a valider avec les touches ctrl + maj + entrée

Cordialement.
 

mdo100

XLDnaute Occasionnel
Re job75,

Moi je veux bien, mais tant qu'une valeur quelconque n'a pas été mise dans les cellules vides de la "Feuil1" quitte à la supprimer ensuite, alors la formule ne fonctionne pas correctement.
Voir les cellules jaunes du fichier joint:

Cdlt.
 

Pièces jointes

  • recopier cellules pleines sans les cellules vides V1.xlsx
    10.4 KB · Affichages: 7

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 898
Membres
101 834
dernier inscrit
Jeremy06510