ActiveCell.CurrentRegion ??

canard

XLDnaute Occasionnel
Salut à tous,

j'utilise le code suivant pour selectionner les cellules non vides:


Code:
ActiveCell.CurrentRegion.Select

Mais je voudrais pas qu'il me selectionne la plage de cellules A2:F2,

comment je peut faire pour améliorer ça ??

Ensuite je voudrais envoyer mes infos selectionnées dans le bloc notes, je fait ouvrir le bloc notes par une macro, elle copie les cellules selectionnées, mais je ne sais pas comment les coller directement dans le bloc notes.

ça fait peut etre beaucoup comme question d'un coup !!!

Merci d'avance.
 

Bricofire

XLDnaute Impliqué
Bonsoir Canard, :)

En premier, le code que tu indiques ne fait pas ce que tu dis, s'il y a des cellulles vides dans la plage, elles seront sélectionnées ! La commande sélectionne seulement une plage qui a pour limite les premières lignes et colonnes qui n'ont pas de cellulles pleines adjacentes avec la plage visée.

Sinon pour répondre à ton premier point voici une piste :


Sub Dragon()
Dim Cell As Range

Range('A1').Select

For Each Cell In ActiveCell.CurrentRegion
If Cell.Address <> '$A$2' And Cell.Address <> '$B$2' And Cell.Address <> '$C$2' And _
Cell.Address <> '$D$2' And Cell.Address <> '$E$2' And Cell.Address <> '$F$2' Then
Union(Selection, Cell).Select
End If
Next Cell
End Sub



Bref, c'est la méthode Union qui fait tout, si tu veux en plus ne pas effectivement sélectionner les cellulles vides dans ta plage, il suffit de rajouter un And Cell <> '' dans le IF ;)

Pour le point deux, ta question est trop floue et..; je n'utilise jamais le 'Bloc notes ' :whistle: :S

A savoir si c'est les cellulles que tu veux récupérer, les valeurs etc...Dans tous les cas, il faudra implémenter quelquechose au fur et à mesure des passages de la boucle.

Bon courage,

Bfr [file name=Selectwithtrou.zip size=6021]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Selectwithtrou.zip[/file]
 

Pièces jointes

  • Selectwithtrou.zip
    5.9 KB · Affichages: 74

Hervé

XLDnaute Barbatruc
Bonsoir canard, brico, le forum

En parallèle à la réponse de brico :)

En imaginant que ta plage a2:f2 soit une ligne d'entête, tu peux aussi essayer ce type de syntaxe :

Sub Bouton1_QuandClic()
Dim plage As Range

Set plage = Range('a1').CurrentRegion
Set plage = plage.Offset(1, 0).Resize(plage.Rows.Count - 1, plage.Columns.Count)
plage.Select
End Sub

salut
 

Discussions similaires

Statistiques des forums

Discussions
312 225
Messages
2 086 411
Membres
103 201
dernier inscrit
centrale vet