Selection simultanée de plusieurs plages nommées

Résolu/Fermé
mousaillon Messages postés 55 Date d'inscription jeudi 30 octobre 2014 Statut Membre Dernière intervention 3 mars 2016 - Modifié par pijaku le 3/03/2016 à 16:16
mousaillon Messages postés 55 Date d'inscription jeudi 30 octobre 2014 Statut Membre Dernière intervention 3 mars 2016 - 3 mars 2016 à 16:10
Bonjour,
Sous Excel 2010

J'ai un problème d'écriture pour indiquer une sélection de plusieurs plages de cellules nommées par leurs valeurs suivantes :

dim plage, plage1, plage2, plage3

plage = sheets("Feuil1").Range("A1").Value
  ' résultat : plage = "$C$5:$F$8"
plage1 = sheets("Feuil1").Range("A2").Value
  ' résultat : plage1 = "$BO$5:$BS$5"
plage2 = sheets("Feuil1").Range("A3").Value
  ' résultat : plage2= "$C$67:$F$70"
plage3 = sheets("Feuil1").Range("A4").Value
  ' résultat : plage3 = "$BO$67:$BS$70"

Pour sélectionner ces 4 plages j'ai écrit ceci :
Sheets("Feuill2").Range(plage,plage1,plage2,plage3).Select

Cela ne fonctionne pas - message erreur -
"Nombre d'arguments incorrect ou affectation de propriété incorrecte"
idem pour :
Sheets("Feuill2").Range("plage,plage1,plage2,plage3").Select


la sélection individuelle marche très bien. mais cela augmente l'écriture de la macro par la répétition du travail après chaque sélection de plage. Pas cool !
Sheets("Feuill2").Range(plage).Select


Pour moi c'est un problème de déclaration des variables "plage..." ou de guillemets ???

le but est, qu'à partir d'un bouton de commande, de sélectionner ces différentes plages qui varient selon l'utilisation - c'est la raison pour laquelle je récupère les "address" dans les cellules A1,A2,A3 et A4. pour pouvoir supprimer leur format.(comme les bordures par exemples)

quelqu'un peut il m'aider ? Merci

2 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
3 mars 2016 à 16:03
Bonjour Moussaillon, bonjour le forum,

Peut-être comme ça :

Dim plage As Range
Dim plage1 As Range
Dim plage2 As Range

Set plage = Range(Sheets("Feuil1").Range("A1").Value)
Set plage1 = Range(Sheets("Feuil1").Range("A2").Value)
Set plage2 = Range(Sheets("Feuil1").Range("A3").Value)
Application.Union(plage, plage1, plage2).Select


0
mousaillon Messages postés 55 Date d'inscription jeudi 30 octobre 2014 Statut Membre Dernière intervention 3 mars 2016 1
3 mars 2016 à 16:10
Bonjour ThauTheme
Ouai super cela fonctionne à merveille. Merci cher ami pour ton aide très rapide. je vais pouvoir poursuivre.
C'est super quand même ce forum. Merci à tous ceux qui y participent et qui aident les plus démunis.
0