OVH Cloud OVH Cloud

Effacer le contenu de toutes les cellules bleues d'une feuille

4 réponses
Avatar
tipi
Salut,

J'ai une feuille Excel avec plusieurs cellules à saisir et d'autres cellules
avec des formules

Les cellules à saisir sont en bleu (ou n'importe quelle couleur)

Est il possible d'avoir un code qui scanne la feuille entière à la recherche
de ces cellules bleues et d'en effacer juste le contenu

(ensuite j'affecterais ce code à un bouton que je copierais-collerais en
haut de chaque feuille de mon classeur)

Merci bcp

anis

4 réponses

Avatar
CAP2
Salut,

voici, en considérant que tu as bien utilisé la couleur nommée "bleu" et pas
"indigo", ou "bleu clair" ou autre ;o))

(par contre je te conseille FORTEMENT d'adapter le Range("A1:IV65536") à la
plage dans laquelle tu veux trouver les cellules ayant un contenu bleu,
parce que là ça passe TOUTES les cellules de la feuille --> TRES long)

Private Sub CommandButton1_Click()
Dim cell As Range

For Each cell In Range("A1:IV65536")
If cell.Font.ColorIndex = 5 Then
cell.ClearContents
End If
Next

End Sub

Ca marche ?

CAP2
Avatar
tipi
Merci c'est exactement ce que je cherchais

Mais ne serait il pas possible pour excel de savoir jusqu'où va la feuille
( comme quand on tape Ctrl+fin) et ainsi trouver une plage variable et ainsi
changer le range ("A1:IV65536") par qqe chose de variable adapté
automatiquement par Excel ( un range qui commence par A1 et qui finit là où
atterirait le curseur lorsqu'on tape sur Ctrl + Fin)

Merci

Anis



"CAP2" a écrit dans le message de news:
%
Salut,

voici, en considérant que tu as bien utilisé la couleur nommée "bleu" et
pas
"indigo", ou "bleu clair" ou autre ;o))

(par contre je te conseille FORTEMENT d'adapter le Range("A1:IV65536") à
la
plage dans laquelle tu veux trouver les cellules ayant un contenu bleu,
parce que là ça passe TOUTES les cellules de la feuille --> TRES long)

Private Sub CommandButton1_Click()
Dim cell As Range

For Each cell In Range("A1:IV65536")
If cell.Font.ColorIndex = 5 Then
cell.ClearContents
End If
Next

End Sub

Ca marche ?

CAP2




Avatar
CAP2
Si,

il faut qu'avant de lancer la macro tu partes d'une cellule du tableau à
trouver :

Ca donne ça :

Private Sub CommandButton1_Click()
Dim cell As Range

Selection.CurrentRegion.Select

For Each cell Selection
If cell.Font.ColorIndex = 5 Then
cell.ClearContents
End If
Next

End Sub

Ca marche ?

CAP2
Avatar
tipi
j'ai peur que currentregion ne s'arrête s'il y a des colonnes ou lignes
vides ( c'est très fréquent dans mes feuilles)


"CAP2" a écrit dans le message de news:

Si,

il faut qu'avant de lancer la macro tu partes d'une cellule du tableau à
trouver :

Ca donne ça :

Private Sub CommandButton1_Click()
Dim cell As Range

Selection.CurrentRegion.Select

For Each cell Selection
If cell.Font.ColorIndex = 5 Then
cell.ClearContents
End If
Next

End Sub

Ca marche ?

CAP2