XL 2016 VBA reprendre une valeur pour des plages séparées par des couleurs

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

AntonG

XLDnaute Nouveau
Bonjour à tous,

Mes recherches ne m'ont pas permis de trouver une solution, ce que je veux faire est un peu difficile à expliquer :

Je souhaite qu'une valeur soit reprise pour des donnée entourée par une séparation de couleur. La valeur se trouve à chaque fois en "entête" des données toujours à la même position pour chaque "module de données". La difficulté pour moi est de faire comprendre au programme c'est le fait que la quantité varie à chaque fois.

J'ai mis l'excel en fichier joint, les valeurs doivent aller dans la colonne A à côté des données en colonne B. La valeur à reprendre se situe dans le ruban de couleur supérieur en colonne J en gras.

En vous remerciant par avance pour votre précieuse aide!

Je me tiens à votre disposition si ma demande n'est pas suffisamment claire,
 

Pièces jointes

Solution
Bonjour Anton, PierreJean,
Avec une fonction perso :
VB:
Function ChercheCouleur(Ligne)
For i = Ligne To 1 Step -1                              ' De la ligne courante à 1 en remontant
    If Range("A" & i).Interior.Color = 13434879 Then    ' Cherche la bonne couleur
        i = i - 1                                       ' La valeur se trouve une ligne au dessus
        ChercheCouleur = Range("J" & i)                 ' Renvoie la valeur
        Exit Function                                   ' On sort car on a trouvé
    End If
Next i
End Function
Bonjour Anton, PierreJean,
Avec une fonction perso :
VB:
Function ChercheCouleur(Ligne)
For i = Ligne To 1 Step -1                              ' De la ligne courante à 1 en remontant
    If Range("A" & i).Interior.Color = 13434879 Then    ' Cherche la bonne couleur
        i = i - 1                                       ' La valeur se trouve une ligne au dessus
        ChercheCouleur = Range("J" & i)                 ' Renvoie la valeur
        Exit Function                                   ' On sort car on a trouvé
    End If
Next i
End Function
 

Pièces jointes

- 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

Discussions similaires

  • Question Question
Réponses
12
Affichages
306
  • Question Question
Réponses
7
Affichages
186
Réponses
13
Affichages
233
Réponses
2
Affichages
379
Retour