copier une zone si elle est non vide

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

Re : copier une zone si elle est non vide

Re,

une proposition:

Code:
Sub Macro1()
Dim vide As Boolean
vide = True
For Each cellule In Range("B2:D5")
    If cellule <> "" Then
        Range("B2:D5").Copy Range("B10")
        vide = False
        Exit For
    End If
Next
If vide Then MsgBox "Le tableau est vide."
End Sub
 
Re : copier une zone si elle est non vide

Un tout grand merci ! Il y a en effet un "if ... them ..." mais cela n'est pas très long.

Est-il possible d'utiliser la fonction cells au lieu de range ?

Si oui comment faire ?

La suite de ma macro utilise Cells, et je préfére rester cohérent avec l'ensemble.
 
Re : copier une zone si elle est non vide

Re

Avec Excel il y a des choses incontournables

un Range d'une cellule peut etre remplaçé par un Cells

mais pour une plage il faut Range (du moins a ma connaissance)

Voila ce que je peux faire de mieux

Code:
Sub copie()
Dim tablo()
'copie l'ensemble des cellules si l'une est non vide
tablo = Range(Cells(2, 2), Cells(5, 4)) ' range("B2:D5"))
For n = 1 To UBound(tablo, 1)
 For m = 1 To UBound(tablo, 2)
   x = x & tablo(n, m)
 Next m
Next n
If x <> "" Then
  Range(Cells(2, 2), Cells(5, 4)).Copy Destination:=Cells(10, 2) ' (Range("B10")
End If
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
114
Réponses
12
Affichages
362
Réponses
4
Affichages
222
Retour