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

J

jasmin

Guest
Bonjour,

dans une macro, je souahite sélectionner un Range du type :

Range("A5:A14","C5:C14) i.e. : colonnes non contigües

mais je ne connais pas justement les noms A5 etc ... (tout dépend de la sélection de l'utilisateur)

or avec une commande du type :

Range(Cells(i, j), Cells(k, j)) je ne parviens pas à entrer une seconde colonne (par exemple :

Range(Cells(i, j):Cells(k, j), Cells(i, l):Cells(k, l))

j'ai essayé avec Union etc ... mais je ne trouve pas !!
Qq1 peut-il m'aider ?

merci

jasmin
 
Bonsoir Jasmin

Essayes cette macro, tu avais les bons ingrédients !


Sub MaPlage()
Dim i As Byte, j As Byte

i = 5
j = 1
Range("A5:A14,C5:C14").Select

'C'est la même avec des variables.

Union(Range(Cells(i, j), Cells(i + 9, j)), Range(Cells(i, j + 2), Cells(i + 9, j + 2))).Select

End Sub

Cordialement

Bernard
 
Re:Re: slection multiple

Merci Bernard pour cette macro

Néanmoins mon problème subsiste car je suis déjà dans une macro et cette macro doit me renvoyer automatiquement un graphe et pour cela je dois appeler la commande :

ActiveChart.SetSourceData Source:=Sheets(nom_f).Union(Range(Cells(i, j), Cells(i + 5, j)), Range(Cells(i, j + 3), Cells(i + 5, j + 3)))

or ce qui se trouve à partir de Union ne lui plaît pas !
je ne vois pas trop comment imbriquer ta macro dans la mienne ?

ou peut être est-ce parce que cet Union... n'est pas utilisé comme dans ta macro ?

encore merci pour l'astuce en tout cas.

Jasmin
 
Re Jasmin

Afin de pouvoir sélectioner les données, le graphique doit être inactif ;
Il faut également déclarer la plage des données du graphique ;

Macro modifiée :

Sub PlageGraph ()
Dim i As Byte, j As Byte
Dim Myplage As Range
i = 5
j = 1

Sheets("Feuil1").Select
Range("A1").Select

Set Myplage = Application.Union(Range(Cells(i, j), Cells(i + 5, j)), Range(Cells(i, j + 3), Cells(i + 5, j + 3)))

ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData Source:=Myplage

Range("A1").Select
End Sub

Cordialement

Bernard
 
- 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
1 K
Réponses
68
Affichages
8 K
Réponses
1
Affichages
1 K
Retour