XL 2013 Récupérer valeur cellule non coloriée d'une colonne

BESAC

XLDnaute Nouveau
Bonjour,
Dans une colonne A contenant des données de A1 à A4, toutes les cellules sont coloriées sauf une.
Je voudrais récupérer en A5 la valeur de cette cellule qui n'est pas coloriée.
Je cherche donc le code qui permettrait d'obtenir ce résultat, n'étant pas tombé dans mes recherches sur un cas similaire.
Merci d'avance pour vos réponses.
 

BESAC

XLDnaute Nouveau
Il s'agit de 49 macros avec sub bouton, Range et With constituant un pavé numérique allant de 1 à 50 et qui servent uniquement à coloriser les cellules de ma colonne A de 4 valeurs.
Exemple : Si A1 =1, en double cliquant sur bouton1, la cellule A1 se colorise.....Si A2=22, en double cliquant sur bouton22, la cellule A2 se colorise...Si A3=48, en double cliquant sur bouton48, la cellule A3 se colorise. Si A1=30, cette cellule est la seule à n'être pas colorisée sur les 4, je voudrais qu'en A5 apparaisse 30.
 

BESAC

XLDnaute Nouveau
Bonsoir CISCO,

Sur tes conseils, j'ai adapté la macro de Roger2327. La boîte de dialogue qui s'ouvre en cliquant sur le bouton adhoc me donne bien la ou les cellules qui ne sont pas colorisées, soit dans mon exemple cité plus haut :
A1 : 1 colorisé rouge
A2 : 22 colorisé rouge
A3 : 48 colorisé rouge
A4 : 30 non colorisé
en cliquant sur bouton, le message renvoie A4.
C'est un premier pas intéressant mais encore assez éloigné de ce que je souhaite obtenir.
1) Je voudrais avoir automatiquement en A5 la valeur 30 (la boîte de dialogue ne m'intéresse pas)
2) Je voudrais que la valeur de A5 corresponde au dernier chiffre non colorisé. C'est à dire que tant que 3 cellules sur 4 ne sont pas colorisées, A5 doit rester vide.
Pour info, voici le code actuel utilisé :

Private Sub Bouton_Cliquer()
Dim msg$, oCell As Range
For Each oCell In Range("A1:A4")
If oCell.Interior.ColorIndex <> 3 Then msg = msg & ", " & oCell.Address(0, 0)
Next
MsgBox Right$(msg, Len(msg) + (Len(msg) > 0))
End Sub

Et en pièce jointe mon fichier test.

Merci d'avance pour les éventuelles pistes d'amélioration...
 

Pièces jointes

  • test002 (3).xls
    41.5 KB · Affichages: 35

BESAC

XLDnaute Nouveau
Bonsoir CISCO et merci pour le suivi de ma demande.
Cela fonctionne très bien, super.
Pour terminer, serait-ce compliqué de placer en B7 et B8 les valeurs cette fois des 2 cellules qui ne sont pas colorisées ?
Je ne sais pas coder pour mémoriser ces 2 cellules et mettre leur valeur dans 2 autres.
J'ai fait des essais en m'inspirant de ton code, du genre :

Private Sub Bouton_Cliquer()
Dim msg$, oCell As Range, valeur1 As Long, valeur2 As Long

For Each oCell In Range("B2:B6") 'ou autre plage à définir tant que de besoin...
If oCell.Interior.ColorIndex <> 3 Then valeur1 = oCell
If oCell.Interior.ColorIndex <> 3 Then valeur2 = oCell

Next

Range("B7") = valeur1
Range("B8") = valeur2


End Sub

mais évidemment ça ne marche pas.
 

Discussions similaires

Statistiques des forums

Discussions
311 723
Messages
2 081 932
Membres
101 844
dernier inscrit
pktla