XL 2010 Propriété "SkipBlanks:=true" lors d'un copier-coller ne fonctionne pas

  • Initiateur de la discussion Initiateur de la discussion g.milano
  • 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 !

g.milano

XLDnaute Junior
Bonjour,

Je voudrais utiliser le SkipBlanks pour récupérer des données sans cellules vides (plutôt que de faire une boucle) mais cela ne fonctionne pas. Apres quelques tests, j'en arrive au fait que c'est bien ce paramètre qui ne semble pas fonctionner. Malgré des recherches sur le net, j'ai rien trouvé de probant (les sujets étant souvent noyés dans des codes avec des problèmes annexes).

Pour faire simple :
1) je prends un classeur vierge (dans un excel neuf tout propre)
2) je rentre un nombre en A1, A3 et A5
3) j’exécute un code simple
VB:
ActiveSheet.Range("A1:A5").Copy
ActiveSheet.Range("C1").PasteSpecial SkipBlanks:=True
4) Et a mon grand désarroi, j'ai le même résultat ; c'est-à-dire que les cellules vides n'ont pas été supprimées lors du collage.

Pourriez-vous m'expliquer comment faire ?
Merci pour votre aide.
 
Solution
Bonjour g.milano

Je viens de tester ton code et pour préciser la fonction de SkipBlanks:=True, cela ne colle pas sur la destination, les cellules vides dans la plage d'origine. Fais un test en remplissant les cellules C1:C5 et tu verras le résultat.
Je ne vois pas comment faire autrement que de passer par une ou plusieur(s) boucle(s) pour repondre a ta demande..
Bonjour g.milano

Je viens de tester ton code et pour préciser la fonction de SkipBlanks:=True, cela ne colle pas sur la destination, les cellules vides dans la plage d'origine. Fais un test en remplissant les cellules C1:C5 et tu verras le résultat.
Je ne vois pas comment faire autrement que de passer par une ou plusieur(s) boucle(s) pour repondre a ta demande..
 
Fallait le comprendre comme ça alors ! En lisant la description, je croyais que le skip du collage des cellules vides les faisait disparaître... Dommage.

J'en suis pour un joli Columns("C").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp après le collage ; ce sera plus light qu'une boucle sur la source (^^)b

Merci pour ton aide.
 
Bonjour le fil, g.milano, Fred0o

Une façon de faire (qui fonctionne sur l'exemple cité)
(A tester en situation "réelle")
VB:
Sub Tests()
Dim r As Range: Set r = Range("A1:A5")
[A1] = "=ROW()": [A3] = 2: [A5] = "ABC"
Union(r.SpecialCells(-4123, 23), r.SpecialCells(2, 23)).Copy [C5]
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

Discussions similaires

Réponses
1
Affichages
2 K
Compte Supprimé 979
C
Retour