Agir sur toute une plage de cellules

Le
steph05
Bonjour

J'ai un tableau de 100 lignes, 26 colonnes.
Je voudrais balayer chaque cellule.
Si la cellule est couleur saumon, je voudrais changer la couleur et
effacer le contenu de la cellule.

Qu'est-ce qui pose problème dans mon code?

Merci de votre aide

For MaLigne = 1 To 100
For MaColonne = 1 To 26
Range(MaColonne, MaLigne).Select
If Selection.Interior.ColorIndex = 40 Then
Selection.Interior.ColorIndex = xlNone
Selection.ClearContents
End If
Next MaColonne
Next MaLigne
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Francois L
Le #16487161
steph05 a écrit :

Bonjour,

Problème dans la syntaxe du Range, à remplacer par
Cells(MaColonne, MaLigne).Select


mais ce serait mieux d'éviter les Select inutiles

'-----------------------------------------
Sub zozo()
For MaLigne = 1 To 100
For MaColonne = 1 To 26
With Cells(MaColonne, MaLigne)
If .Interior.ColorIndex = 40 Then
.Interior.ColorIndex = xlNone
.ClearContents
End If
End With
Next MaColonne
Next MaLigne
End Sub

'-------------------------------------------

--
François L

Bonjour

J'ai un tableau de 100 lignes, 26 colonnes.
Je voudrais balayer chaque cellule.
Si la cellule est couleur saumon, je voudrais changer la couleur et
effacer le contenu de la cellule.

Qu'est-ce qui pose problème dans mon code?

Merci de votre aide

For MaLigne = 1 To 100
For MaColonne = 1 To 26
Range(MaColonne, MaLigne).Select
If Selection.Interior.ColorIndex = 40 Then
Selection.Interior.ColorIndex = xlNone
Selection.ClearContents
End If
Next MaColonne
Next MaLigne


steph05
Le #16487251
Super, merci, ça marche!
lSteph
Le #16487871
Bonjour,

Dim c As Range
Application.ScreenUpdating = False
For Each c In [a1:z100].Cells
If c.Interior.ColorIndex = 40 Then _
c.Interior.ColorIndex = xlNone: c.ClearContents
Next

'lSteph

On 6 août, 12:20, steph05
Bonjour

J'ai un tableau de 100 lignes, 26 colonnes.
Je voudrais balayer chaque cellule.
Si la cellule est couleur saumon, je voudrais changer la couleur et
effacer le contenu de la cellule.

Qu'est-ce qui pose problème dans mon code?

Merci de votre aide

For MaLigne = 1 To 100
For MaColonne = 1 To 26
Range(MaColonne, MaLigne).Select
If Selection.Interior.ColorIndex = 40 Then
Selection.Interior.ColorIndex = xlNone
Selection.ClearContents
End If
Next MaColonne
Next MaLigne


Publicité
Poster une réponse
Anonyme