Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA POUR COPIER UNIQUEMENT LES COLONNES ET LES LIGNES CONTENAT DES VALEURS

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

A

anbar

Guest
Bonjour


Je voudrais bien savoir si vous pouvez m'aider à faire un code vba pour copier uniquement les colonnes et les lignes non vides d'une feuille à l'autre dans un même classeur.
Ci-joint le classeur contenant un tableau en exemple.

Merci pour tout le monde.
 

Pièces jointes

Bonjour.
Le problème c'est que jusqu'à la cellule AR10 de votre 1ère feuille il n'y a ni ligne vide ni colonne vide.
Il y a toujours quelque chose dans la 1ère ligne et dans la 1ère colonne.

Je m'excuse j'ai pas bien poser le problème, en fait je voulais dire les lignes et colonnes qui ne contiennent pas de valeurs.
car je dois absolument garder les noms des lignes et colonnes pour autres utilisations.
Merci
 

Pièces jointes

Bonjour anbar, Bernard,

Oui je comprends que pour les "vides" il faut ignorer les titres.

Voyez le fichier joint et cette macro dans le code de Feuil2 :
Code:
Private Sub Worksheet_Activate()
Cells.Delete 'RAZ
On Error Resume Next 'si aucune SpecialCell
With Feuil1.UsedRange.Offset(1).SpecialCells(xlCellTypeConstants) 'Feuil1 => CodeName
    Intersect(.Cells(0, 1).EntireRow, .EntireColumn).Copy [A1] 'titres
    Intersect(.EntireRow, .EntireColumn).Copy [A2]
End With
With UsedRange: End With 'actualise les barres de défilement
End Sub
Elle se déclenche quand on active la feuille.

A+
 

Pièces jointes


Merci pour votre aide
Ca marche très très bien
Merci
 
Je voudrais savoir si c'est possible de s’arrêter à la ligne 20
Fichier (2) avec cette nouvelle macro :
Code:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Cells.Delete 'RAZ
On Error Resume Next 'si aucune SpecialCell
With Feuil1.UsedRange.Offset(1).Resize(19).SpecialCells(xlCellTypeConstants) 'Feuil1 => CodeName
    [A1].ColumnWidth = .Parent.UsedRange.Cells(1).ColumnWidth 'largeur de la 1ère colonne
    Intersect(.Cells(0, 1).EntireRow, .EntireColumn).Copy [A1] 'titres
    Intersect(.EntireRow, .EntireColumn).Copy [A2]
End With
With UsedRange: End With 'actualise les barres de défilement
End Sub
A+
 

Pièces jointes


Merci
Rien à dire c'est bien fait.
Merci à tous
 
- 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

  • Question Question
Microsoft 365 Souci de copie
Réponses
8
Affichages
327
Réponses
4
Affichages
208
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…