Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Aide Sur : Dim Table As Range, &i

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

D

dscott

Guest
Je suis sur un sujet concernant un tableau.😱

Voici ce que j'ai fait :

Public cel As Range
Public Sub color4() 'colorie en blanc les cellules de la plage 4
Dim plage4 As Range

Set plage4 = Application.Union(Range("c4:aa4"), Range("ad4:ae4")) 'la ligne 4

For Each cel In plage4 'Nettoyage
cel.Interior.color = 16777215 'Blanc
Next cel


Ma question est la suivante : Je voudrais faire une bouche sur les autres lignes en dessous de la ligne 4.
C'est a dire reussir a mettre un indice variable "i" a la place du chiffre "4" aussi bien sur la variable plage que dans sa formule....
Bonne question non ?

Un pro de VBA et des applications trouvera surement une solution...😛

Merci de votre attention
 
Re : Aide Sur : Dim Table As Range, &i

Bonjour

Set plage4 = Application.Union(Range("c4:aa4"), Range("ad4:ae4")) 'la ligne 4
modifier la ligne indiquée ci dessus en utilisant la méthode suivante : remplacer 4 par une variable qui contient la nouvelle valeur
Dim ligne1 as long
ligne1 = 5
Range("c" & ligne1 & ":aa" & ligne1 ....

Bon courage
 
Re : Aide Sur : Dim Table As Range, &i

Bonjour dscott, jp14,

j'ajoute que tu pourrais également remplacer avantageusement tout ton code (ci-dessus) par une seule ligne :
Code:
[SIZE=2]Application.Union(Range("c4:aa4"), Range("ad4:ae4")).Interior.ColorIndex = xlNone[/SIZE]
la boucle sur les cellules étant inutile, cela te permettra de boucler cette fois sur les lignes souhaitées comme ci-dessous par exemple :
Code:
[SIZE=2]Dim L[COLOR=navy] As Long[/COLOR]
      [COLOR=navy]For [/COLOR]L = 4[COLOR=navy] To [/COLOR]136      [COLOR=green]'lignes 4 à 136[/COLOR]
            Application.Union(Range("C" & L & ":AA" & L), _
                  Range("AD" & L & ":AE" & L)).Interior.ColorIndex = xlNone
      [COLOR=navy]Next[/COLOR] L[/SIZE]
Pour une question de clarté, pour ma part, je m'y prendrais comme ça :
Code:
[SIZE=2]Dim L[COLOR=navy] As Byte[/COLOR]
    [COLOR=navy]For [/COLOR]L = 4[COLOR=navy] To [/COLOR]136    [COLOR=green]'lignes 4 à 136[/COLOR]
        [COLOR=navy]With[/COLOR] Application
          .Intersect(.Union(Columns("C:AA"), Columns("AD:AE")), [B]Rows(L)[/B]). _
                Interior.ColorIndex = xlNone
        [COLOR=navy]End With[/COLOR]
    [COLOR=navy]Next[/COLOR] L[/SIZE]
ça n'apporte rien de plus, mais je trouve ça beaucoup plus lisible...

Cordialement,
 
- 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

M
Réponses
4
Affichages
2 K
mathieu42400
M
A
Réponses
4
Affichages
1 K
akrillon
A
N
  • Question Question
Réponses
5
Affichages
3 K
M
Réponses
0
Affichages
2 K
MARGAR
M
B
Réponses
2
Affichages
763
B
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…