Mise en forme de 2 plages

nadir****

XLDnaute Occasionnel
Bonjour
Je voudrais effectuer les mêmes opérations sur 2 plages distinctes: plage1 et ensemble
Je code ces opérations avec with et end with.
Par contre je répète ces opérations pour chacune de ces 2 plages.
Code:
With Plage1
    .Borders.LineStyle = xlContinuous
    .Borders.Weight = xlThin
    .Rows(1).WrapText = True
    ...
end with
With ensemble
    .Borders.LineStyle = xlContinuous
    .Borders.Weight = xlThin
    .Rows(1).WrapText = True
    ...
end with

Comment pourrait-on éviter de ré-écrire les lignes 2 fois.
Peut-on utiliser
Code:
with each plage in (plage1,ensemble)
end

Merci pour votre aide.
Nadir
 

tototiti2008

XLDnaute Barbatruc
Re : Mise en forme de 2 plages

Bonjour nadir,

Peut-être

Code:
With Union(Plage1,ensemble)
    .Borders.LineStyle = xlContinuous
    .Borders.Weight = xlThin
    .Rows(1).WrapText = True
    ...
end with

ou peut-être

Code:
For each Ar in Union(Plage1,ensemble).areas
With Ar
    .Borders.LineStyle = xlContinuous
     .Borders.Weight = xlThin
     .Rows(1).WrapText = True
     ...
end with
Next
 

Pierrot93

XLDnaute Barbatruc
Re : Mise en forme de 2 plages

Bonjour,

regarde ceci :
Code:
With Union(Range("A1:A10"), Range("C1:C10"))
    .Borders.LineStyle = xlContinuous
    .Borders.Weight = xlThin
    .Rows(1).WrapText = True
End With
bon après midi
@+

Edition : aarf, encore en retard moi...
 

nadir****

XLDnaute Occasionnel
Re : Mise en forme de 2 plages

Merci pour votre aide.
Même avec les bonnes parenthèses j'ai l'erreur suivante:

Erreur d'éxécution '1004'
La méthode 'Range' de l'objet'_Global' a échoué.

Hmmmm

Ah oui effectivement, les plages ne sont pas sur la même feuille de calcul.
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Mise en forme de 2 plages

Re,

Postes nous un fichier exemple, on a suffisamment essayé les yeux fermés :)
Comme Pierrot la précisé dans son denier message, si les plages Plage1 et ensemble ne sont pas sur la feuille active, ça ne fonctionnera pas
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Mise en forme de 2 plages

Re,

une autre méthode :
Code:
Dim c(1) As Range, i As Byte
Set c(0) = Sheets("Feuil1").Range("A1:A10") 'range("maplage1")
Set c(1) = Sheets("Feuil2").Range("A1:A10") 'range("maplage2")
For i = 0 To 1
    With c(i)
        .Borders.LineStyle = xlContinuous
        .Borders.Weight = xlThin
        .Rows(1).WrapText = True
    End With
Next i

si plages nommées, adapter l'initialisation des variables...
 

Discussions similaires

Réponses
8
Affichages
679

Statistiques des forums

Discussions
312 396
Messages
2 088 043
Membres
103 707
dernier inscrit
Papy60