Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

reprendre les chiffres de couleur rouge

6 réponses
Avatar
isa
Bonjour,

J'ai un tableau qui reprend des chiffres (colonne x), certains sont de
couleurs rouge, d'autre noir.

Je voudrais reprendre dans une colonne à coté (y) les chiffres écrit en
rouge.
je crois devoir integrer une macro..
mais je ne connais pas du tout l'utilisation
merci de votre aide
isa

6 réponses

Avatar
michdenis
Adapte le nom de la feuille et de la plage de cellules concernées.
'----------------------------
Sub Trouver_Lettre_En_Rouge()
Dim Rg As Range, Cell As Range
Dim C As Characters

With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
For Each Cell In Rg.Cells
For a = 1 To Len(Cell)
If Cell.Characters(a, 1).Font.ColorIndex = 3 Then
Cell.Offset(, 1).Value = _
Cell.Offset(, 1).Value & Cell.Characters(a, 1).Text
End If
Next
Next
End Sub
'----------------------------


"isa" a écrit dans le message de groupe de discussion :
49a944a8$0$12619$
Bonjour,

J'ai un tableau qui reprend des chiffres (colonne x), certains sont de
couleurs rouge, d'autre noir.

Je voudrais reprendre dans une colonne à coté (y) les chiffres écrit en
rouge.
je crois devoir integrer une macro..
mais je ne connais pas du tout l'utilisation
merci de votre aide
isa
Avatar
JB
Bonjour,


http://cjoint.com/?dcp3QViv6G

En C2:
=SI(LIGNES($1:1)<=SOMME(--(couleurfond(Noms)=3));
INDEX(Noms;PETITE.VALEUR(SI(couleurfond(Noms)=3;LIGNE(INDIRECT
("1:"&LIGNES(Noms))));LIGNES($1:1)));"")
Valider avec Maj+Ctrl+entrée

Dns un module (Alt+F11 Insertion/Module)

Function couleurTexte(champ As Range)
Application.Volatile
Dim temp()
ReDim temp(1 To champ.Count)
For i = 1 To champ.Count
temp(i) = champ(i).Font.ColorIndex
Next i
couleurTexte = Application.Transpose(temp)
End Function

JB
http://boisgontierjacques.free.fr




On 28 fév, 15:05, isa wrote:
Bonjour,

J'ai un tableau qui reprend des chiffres (colonne x), certains sont de
couleurs rouge, d'autre noir.

Je voudrais reprendre dans une colonne à coté (y) les chiffres écri t en
rouge.
je crois devoir integrer une macro..
mais je ne connais pas du tout l'utilisation
merci de votre aide
isa


Avatar
isa
JB a écrit :
Bonjour,


http://cjoint.com/?dcp3QViv6G

En C2:
=SI(LIGNES($1:1)<=SOMME(--(couleurfond(Noms)=3));
INDEX(Noms;PETITE.VALEUR(SI(couleurfond(Noms)=3;LIGNE(INDIRECT
("1:"&LIGNES(Noms))));LIGNES($1:1)));"")
Valider avec Maj+Ctrl+entrée

Dns un module (Alt+F11 Insertion/Module)

Function couleurTexte(champ As Range)
Application.Volatile
Dim temp()
ReDim temp(1 To champ.Count)
For i = 1 To champ.Count
temp(i) = champ(i).Font.ColorIndex
Next i
couleurTexte = Application.Transpose(temp)
End Function

JB
http://boisgontierjacques.free.fr




On 28 fév, 15:05, isa wrote:
Bonjour,

J'ai un tableau qui reprend des chiffres (colonne x), certains sont de
couleurs rouge, d'autre noir.

Je voudrais reprendre dans une colonne à coté (y) les chiffres écrit en
rouge.
je crois devoir integrer une macro..
mais je ne connais pas du tout l'utilisation
merci de votre aide
isa





desolé ca ne marche pas

Je ne veux pas des noms
je veux reprendre la cellule
exemple
colonne I
42
50 supposons qu'il soit en caractère rouge
68
80

Je veux retrouver en colonne L
50

merci
Avatar
JB
http://cjoint.com/?dcrKMgmJgc

JB

On 28 fév, 16:22, isa wrote:
JB a écrit :



> Bonjour,

>http://cjoint.com/?dcp3QViv6G

> En C2:
> =SI(LIGNES($1:1)<=SOMME(--(couleurfond(Noms)=3));
> INDEX(Noms;PETITE.VALEUR(SI(couleurfond(Noms)=3;LIGNE(INDIRECT
> ("1:"&LIGNES(Noms))));LIGNES($1:1)));"")
> Valider avec Maj+Ctrl+entrée

> Dns un module (Alt+F11 Insertion/Module)

> Function couleurTexte(champ As Range)
>   Application.Volatile
>   Dim temp()
>   ReDim temp(1 To champ.Count)
>   For i = 1 To champ.Count
>      temp(i) = champ(i).Font.ColorIndex
>   Next i
>   couleurTexte = Application.Transpose(temp)
> End Function

> JB
>http://boisgontierjacques.free.fr

> On 28 fév, 15:05, isa wrote:
>> Bonjour,

>> J'ai un tableau qui reprend des chiffres (colonne x), certains sont de
>> couleurs rouge, d'autre noir.

>> Je voudrais reprendre dans une colonne à coté (y) les chiffres é crit en
>> rouge.
>> je crois devoir integrer une macro..
>> mais je ne connais pas du tout l'utilisation
>> merci de votre aide
>> isa

desolé ca ne marche pas

Je ne veux pas des noms
je veux reprendre la cellule
exemple
colonne I
42
50 supposons qu'il soit en caractère rouge
68
80

Je veux retrouver en colonne L
50

merci- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
isa
michdenis a écrit :
Adapte le nom de la feuille et de la plage de cellules concernées.
'----------------------------
Sub Trouver_Lettre_En_Rouge()
Dim Rg As Range, Cell As Range
Dim C As Characters

With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
For Each Cell In Rg.Cells
For a = 1 To Len(Cell)
If Cell.Characters(a, 1).Font.ColorIndex = 3 Then
Cell.Offset(, 1).Value = _
Cell.Offset(, 1).Value & Cell.Characters(a, 1).Text
End If
Next
Next
End Sub
'----------------------------


"isa" a écrit dans le message de groupe de discussion :
49a944a8$0$12619$
Bonjour,

J'ai un tableau qui reprend des chiffres (colonne x), certains sont de
couleurs rouge, d'autre noir.

Je voudrais reprendre dans une colonne à coté (y) les chiffres écrit en
rouge.
je crois devoir integrer une macro..
mais je ne connais pas du tout l'utilisation
merci de votre aide
isa



Merci,

que dois je mettre en nom de feuille et en nom de plage ?
Sorry, je ne connais pas du tout vba... je voudrais comprendre
merci
isa
Avatar
MichDenis
Tu fais un clic droit sur l'onglet de la feuille où l'action
se déroule et tu copies le code suivant dans la page blanche.

Un bon volume sur le sujet VBA et Excel te serait très utile
pour te familiariser avec l'environnement. À cette adresse, tu
devrais trouver des choses très utiles pour débutant avec VBA
http://www.excelabo.net

Je t'ai commenté le code... si tu n'as aucune formation dans le domaine
la première lecture te semblera du chinois!

'--------------------------------------
'ligne de déclaration de la procédure (macro)
Sub Trouver_Lettre_En_Rouge()
'Définition des variables + leur type
Dim Rg As Range, Cell As Range
Dim C As Characters

'Remplace Feuil1 par le nom de l'onglet où tu veux
'appliquer la macro
With Worksheets("Feuil1")
'moi, j'ai choisi la colonne A mais tu peux remplacer
'la colonne par celle que tu veux (A par la lettre de ton choix
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With

'Une première boucle qui se lit comme suit :
'Pour chaque cellule contenu dans la plage de cellules
'que tu viens de définir plus haut
For Each Cell In Rg.Cells
'Comme tu veux seulement tester la couleur des caractères
'une deuxième boucle qui se lit comme suite pour le
'caractère 1 jusqu'au nombre total de caractère dans la cellule
For a = 1 To Len(Cell)
'test un caractère à la fois
'si la police(font) est de couleur(ColorIndex) rouge(3)
If Cell.Characters(a, 1).Font.ColorIndex = 3 Then
'Mettre ce caractère dans la cellule de la colonne juste
'à droite de celle que tu as choisi d'explorer
Cell.Offset(, 1).Value = _
Cell.Offset(, 1).Value & Cell.Characters(a, 1).Text
End If
Next
Next
End Sub
'--------------------------------------