Autres Recopier plage de cellules pleines sans les cellules vides

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

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

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
😉
 
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
 
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+
 
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.
 
- 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

Réponses
3
Affichages
115
Réponses
3
Affichages
330
Réponses
5
Affichages
472
Retour