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

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

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

  • Metre_controle.xlsm
    331.8 KB · Affichages: 3
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

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • Metre_controle (V2).xlsm
    353.6 KB · Affichages: 3

Discussions similaires

Réponses
46
Affichages
886
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…