copie cellules

michel33

XLDnaute Nouveau
bonjour
je cherche une macro qui permette de copier des cellules non vide sur une plage de ellules determinées.
ça ne doit pas etre compliqué,mais n'etant pas un pro de la macro,je ne m'en sors pas.
j'ai ecrit ceci:

Private Sub CommandButton1_Click()
For Each Cell In Range('B2:E26')
If Not IsEmpty(Cell.Value) Then
Cell.Select
Selection.Copy
End If
Next
End Sub


Ca ne fonctionne pas car ça doit etre bourré de fautes;pouvez-vous m'aider ?
merci d'avance
michel
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Michel

Ton code n'est pas fondamentalement faux, mais tu tu stipules pas où tu veux copier les valeurs trouvées ?

Imaginons que tu veulent les copier sur une nouvelle feuille en colonne 'A' à la suite les unes des autres :

Option Explicit

Private Sub CommandButton1_Click()
Dim NouvelleFeuille As Worksheet
Dim Cell As Range
Dim x As Integer

Set NouvelleFeuille = Worksheets.Add

For Each Cell In Range('B2:E26')
   
If Not IsEmpty(Cell.Value) Then
    x = x + 1
          Cell.Copy NouvelleFeuille.Range('A' & x)
   
End If
Next
End Sub

Une autre alternative serait de préciser la feuille comme ceci :

Option Explicit

Private Sub CommandButton1_Click()
Dim FeuilleCible As Worksheet
Dim Cell As Range
Dim CellToCopy As Range

Set FeuilleCible = Worksheets('Feuil2')

For Each Cell In Range('B2:E26')
   
If Not IsEmpty(Cell.Value) Then
   
   
Set CellToCopy = FeuilleCible.Range('A65536').End(xlUp).Offset(1, 0)
    Cell.Copy CellToCopy
   
End If
Next
End Sub

Voilà pour une première aproche...

Bon Appétit
[ol]@+Thierry[/ol]
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Bonjour Michel

Dans ce cas non, pas directement, il te faudra passer par une Plage de cellule intermédaire qui groupera les cellules Non-Vides pour pouvoir les copier à nouveau en Plage Contigue...

Bon Appétit
[ol]@+Thierry[/ol]
 

Discussions similaires

Réponses
7
Affichages
189
Réponses
12
Affichages
575
  • Résolu(e)
Microsoft 365 FORMULE Excel VBA
Réponses
17
Affichages
785

Statistiques des forums

Discussions
312 238
Messages
2 086 491
Membres
103 234
dernier inscrit
matteo75654548