Code vba detecter 1er cellule d'une couleur + texte

Fermé
Luffy - 3 mars 2022 à 16:08
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 4 mars 2022 à 16:15
Bonjour le forum,

Je cherche un code VBA qui peut détecter la 1er cellule bleu (issu d'une MFC) dans une ligne et quand trouvé y écrire le contenu de la 1er cellule de la ligne. Ex Ligne 10 première cellule avec du bleu en J10 et écrire le texte en A10 et ainsi de suite jusqu'à ce qu'il ne trouve plus rien de texte dans la colonne A.

Si vous avez d'autre idée je suis prenneur. Merci pour votre aide.
A voir également:

10 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 729
Modifié le 3 mars 2022 à 16:31
0
Merci pour les liens,

J'ai bien récupéré le code couleur via le code (16777215). Pour la boucle je sèche, je continue à cherche ^^.
0
Vu que je bloque sur VBA je me demande si une formule type si.multiple peut être une solution. Par exemple je suis en M11 qui est m'a première cellule de couleur et j'écris Si cellule N11 vide et si A11 = no_couleur=16777215 alors A1 sinon vide.

J'ai tenté ça mais j'ai une erreur =SI.MULTIPLE(R83="";S83=NO_COULEUR(16777215);"ok";"")

Vous en pensez quoi ?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 729
3 mars 2022 à 17:31
Pour les formules ce n'est pas mon fort.

en vba avec l'exemple 6 mettre quelque chose comme cela:

  Var = FL1.Cells(NoLig, NoCol)
If FL1.Cells(NoLig, NoCol).DisplayFormat.Interior.Color = 16777215 Then
'mettre le code
End If


@+
0
eriiic Messages postés 24585 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 27 juin 2024 7 225
3 mars 2022 à 23:00
Bonjour à tous,

il faut déposer un fichier exemple sur cjoint.com et coller ici le lien fourni.
On ne sait pas comment ça se présente, ni quel bleu, ni comment il est mis.
eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci pour vos retours. Je vous joins un exemple via cjoint.

https://cjoint.com/c/LCeiNotwgHg
0
eriiic Messages postés 24585 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 27 juin 2024 7 225
4 mars 2022 à 11:06
Bonjour,

Pourquoi ne pas poser la question là où tu as trouvé ce fichier ?
Et quel est l'intérêt vu que les volets sont figés et que A est toujours visible ?
De plus ça va déborder sur les colonnes adjacentes et rendra le planning incompréhensible.
Sans moi...
eric
0
Bonjour éric,

J'ai posé la question ici car je suis plus coutumier de ce forum. L'intérêt est que ne voulant pas surchargé les colonnes à droite je vais en masquer certaines a terme. J'aurai bien voulu centrer au milieu le texte mais cela ma semblé plus simple de procédé par la détection de la 1er cellule bleue. Mais si vous avez d'autres idées je suis preneur.
0
Bonjour,

Je voulais savoir si il était possible par un code vba de copier le contenu d'une cellule et le coller dans une autre cellule mais dont la position est indiquée dans une 3eme cellule.

Ex: texte en A1 - à copier en B2 - B2 étant renseigné en C3 ?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 729
4 mars 2022 à 15:39
voilà

Sub test()
Range(Range("C3").Value).Value = Range("A1").Value
End Sub


as-tu regardé le post5?

@+
0
J'ai regardé et essayé mais j'ai eu une erreur de type 9... Pour le coup j'ai trouvé via une formule comment trouver dans quelle colonne est la 1er cellule bleu.

Est-il possible d'adapter ce code pour qu'il passe à la ligne d'en dessous jusqu'à en trouver une vide avec l'exemple 6 ?

Merci encore du temps et de l'aide apportée.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 729
4 mars 2022 à 16:15
Comme ceci à adapter

Sub For_Next_Plage()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer, NoLig As Long
Dim DerLig As Long, DerCol As Integer, Var As Variant
 
    Set FL1 = Worksheets("Feuil1")'adapter nom de la feuille
 
    'Détermine la dernière ligne renseignée de la feuille de calculs
    DerLig = Split(FL1.UsedRange.Address, "$")(4)
 
    'Détermine la dernière colonne renseignée de la feuille de calculs
    DerCol = Columns(Split(FL1.UsedRange.Address, "$")(3)).Column
 
    For NoLig = 1 To DerLig
        For NoCol = 1 To DerCol
            Var = FL1.Cells(NoLig, NoCol)
            If FL1.Cells(NoLig, NoCol).Interior.Color = 16777215 Then
MsgBox Var 'ici tu fais ce que tu veux avec les cellules ayant cette couleur!!!
End If
        Next
    Next
 End Sub

0