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

recuperer les données dans un cellule colorer

5 réponses
Avatar
Cyr73
Bonjour,

je vous sollicite de nouveau car je souhaiterais
savoir si il est possible de récuperer les données "texte" qui se trouve
dans les cellules colorer "en jaune clair" dans la feuilles "menus" en B3:B10
et
de les coler dans la feuille "menus client" dans A3 puis la deuxieme valeur
trouvé
en B2 ect..
--
Cordialement

et avec tous mes remerciements..

5 réponses

Avatar
michdenis
Bonjour,

La macro que je t'ai donnée dans ton message précédent fait
ce que tu demandes :

Dans la procédure, tu dois t'assurer que les références des feuilles
et des plages de cellules sont exactes.

Pour la couleur "jaune pâle" j'ai utilisé ceci :
.Interior.ColorIndex = 36

Mais la seule manière d'être certain que ton classeur utilise
le même index que le mien est de faire un petit test
x = range("A1").interior.ColorIndex
en supposant que la cellule A1 a le format que tu cherches.

'----------------------------------------
Sub TrouverFormat()

Dim Rg As Range
Dim LeCellFormat As CellFormat

Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.ColorIndex = 36
'La liste pourrait être plus longue ...
End With

'Détermine la plage de cellules où s'effectue
'la recherche
With Worksheets("Feuil1") 'Adapte le nom de la feuille
Set Rg = .Range("A:A")
End With

'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", SearchFormat:=True)
If Not C Is Nothing Then
adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
'Affiche le contenu des cellules ayant le format désiré
With Worksheets("Feuil2") ' adapte le nom de la feuille
.Range("A" & .Range("A65536").End(xlUp)(2).Row) = C
End With
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C, SearchFormat:=True)
Loop Until C.Address = adr
End If
End With

End Sub
'----------------------------------------




"Cyr73" a écrit dans le message de groupe de discussion
:
Bonjour,

je vous sollicite de nouveau car je souhaiterais
savoir si il est possible de récuperer les données "texte" qui se trouve
dans les cellules colorer "en jaune clair" dans la feuilles "menus" en B3:B10
et
de les coler dans la feuille "menus client" dans A3 puis la deuxieme valeur
trouvé
en B2 ect..
--
Cordialement

et avec tous mes remerciements..
Avatar
Cyr73
Bonjour Michdenis,

merci pour ta réponse
la macro me renvoie "erreur de compilation, type défini par l'utilisateur
non défini."
te serait t il possible de rajouter le code pour copier la première cellules
jaune trouver dans la premiere cellules vide de la colonne B sur la feuille 2.
un grand merci à toi.
--
Cordialement

et avec tous mes remerciements..


"michdenis" wrote:

Bonjour,

La macro que je t'ai donnée dans ton message précédent fait
ce que tu demandes :

Dans la procédure, tu dois t'assurer que les références des feuilles
et des plages de cellules sont exactes.

Pour la couleur "jaune pâle" j'ai utilisé ceci :
.Interior.ColorIndex = 36

Mais la seule manière d'être certain que ton classeur utilise
le même index que le mien est de faire un petit test
x = range("A1").interior.ColorIndex
en supposant que la cellule A1 a le format que tu cherches.

'----------------------------------------
Sub TrouverFormat()

Dim Rg As Range
Dim LeCellFormat As CellFormat

Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.ColorIndex = 36
'La liste pourrait être plus longue ...
End With

'Détermine la plage de cellules où s'effectue
'la recherche
With Worksheets("Feuil1") 'Adapte le nom de la feuille
Set Rg = .Range("A:A")
End With

'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", SearchFormat:=True)
If Not C Is Nothing Then
adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
'Affiche le contenu des cellules ayant le format désiré
With Worksheets("Feuil2") ' adapte le nom de la feuille
.Range("A" & .Range("A65536").End(xlUp)(2).Row) = C
End With
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C, SearchFormat:=True)
Loop Until C.Address = adr
End If
End With

End Sub
'----------------------------------------




"Cyr73" a écrit dans le message de groupe de discussion
:
Bonjour,

je vous sollicite de nouveau car je souhaiterais
savoir si il est possible de récuperer les données "texte" qui se trouve
dans les cellules colorer "en jaune clair" dans la feuilles "menus" en B3:B10
et
de les coler dans la feuille "menus client" dans A3 puis la deuxieme valeur
trouvé
en B2 ect..
--
Cordialement

et avec tous mes remerciements..



Avatar
michdenis
Quelle est ta version d'Excel ?

Dans la section de la déclaration des variables, il y a cette ligne :

Dim LeCellFormat As CellFormat

Place ton curseur sur l'expression CellFormat et appelle l'aide
d'Excel en appuyant sur F1

Est-ce possible que ta version d'excel ne possède pas cet "Object"
dans le modèle objet vba de ta version d'Excel ? Si c'est le cas, il
faudra définir une autre procédure...



"Cyr73" a écrit dans le message de groupe de discussion
:
Bonjour Michdenis,

merci pour ta réponse
la macro me renvoie "erreur de compilation, type défini par l'utilisateur
non défini."
te serait t il possible de rajouter le code pour copier la première cellules
jaune trouver dans la premiere cellules vide de la colonne B sur la feuille 2.
un grand merci à toi.
--
Cordialement

et avec tous mes remerciements..


"michdenis" wrote:

Bonjour,

La macro que je t'ai donnée dans ton message précédent fait
ce que tu demandes :

Dans la procédure, tu dois t'assurer que les références des feuilles
et des plages de cellules sont exactes.

Pour la couleur "jaune pâle" j'ai utilisé ceci :
.Interior.ColorIndex = 36

Mais la seule manière d'être certain que ton classeur utilise
le même index que le mien est de faire un petit test
x = range("A1").interior.ColorIndex
en supposant que la cellule A1 a le format que tu cherches.

'----------------------------------------
Sub TrouverFormat()

Dim Rg As Range
Dim LeCellFormat As CellFormat

Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques
'du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères
'des anciennes recherches
.Interior.ColorIndex = 36
'La liste pourrait être plus longue ...
End With

'Détermine la plage de cellules où s'effectue
'la recherche
With Worksheets("Feuil1") 'Adapte le nom de la feuille
Set Rg = .Range("A:A")
End With

'Trouve la cellule ayant le bon format pour
'y effectuer une ou des opérations quelconques...
With Rg
Set C = .Find(What:="", SearchFormat:=True)
If Not C Is Nothing Then
adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
'Affiche le contenu des cellules ayant le format désiré
With Worksheets("Feuil2") ' adapte le nom de la feuille
.Range("A" & .Range("A65536").End(xlUp)(2).Row) = C
End With
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=C, SearchFormat:=True)
Loop Until C.Address = adr
End If
End With

End Sub
'----------------------------------------




"Cyr73" a écrit dans le message de groupe de
discussion
:
Bonjour,

je vous sollicite de nouveau car je souhaiterais
savoir si il est possible de récuperer les données "texte" qui se trouve
dans les cellules colorer "en jaune clair" dans la feuilles "menus" en B3:B10
et
de les coler dans la feuille "menus client" dans A3 puis la deuxieme valeur
trouvé
en B2 ect..
--
Cordialement

et avec tous mes remerciements..



Avatar
Cyr73
bonsoir michdenis,

merci de ta rapidité, je ne trouve rien dans l'aide.
ma version d'excel est 2000.
--
Cordialement

et avec tous mes remerciements..


"michdenis" wrote:

Quelle est ta version d'Excel ?

Dans la section de la déclaration des variables, il y a cette ligne :

Dim LeCellFormat As CellFormat

Place ton curseur sur l'expression CellFormat et appelle l'aide
d'Excel en appuyant sur F1

Est-ce possible que ta version d'excel ne possède pas cet "Object"
dans le modèle objet vba de ta version d'Excel ? Si c'est le cas, il
faudra définir une autre procédure...



"Cyr73" a écrit dans le message de groupe de discussion
:
Bonjour Michdenis,

merci pour ta réponse
la macro me renvoie "erreur de compilation, type défini par l'utilisateur
non défini."
te serait t il possible de rajouter le code pour copier la première cellules
jaune trouver dans la premiere cellules vide de la colonne B sur la feuille 2.
un grand merci à toi.
--
Cordialement

et avec tous mes remerciements..


"michdenis" wrote:

> Bonjour,
>
> La macro que je t'ai donnée dans ton message précédent fait
> ce que tu demandes :
>
> Dans la procédure, tu dois t'assurer que les références des feuilles
> et des plages de cellules sont exactes.
>
> Pour la couleur "jaune pâle" j'ai utilisé ceci :
> .Interior.ColorIndex = 36
>
> Mais la seule manière d'être certain que ton classeur utilise
> le même index que le mien est de faire un petit test
> x = range("A1").interior.ColorIndex
> en supposant que la cellule A1 a le format que tu cherches.
>
> '----------------------------------------
> Sub TrouverFormat()
>
> Dim Rg As Range
> Dim LeCellFormat As CellFormat
>
> Set LeCellFormat = Application.FindFormat
> 'Détermine les caractéristiques
> 'du format de cellule recherché.
> With LeCellFormat
> .Clear 'S'assurer d'effacer les critères
> 'des anciennes recherches
> .Interior.ColorIndex = 36
> 'La liste pourrait être plus longue ...
> End With
>
> 'Détermine la plage de cellules où s'effectue
> 'la recherche
> With Worksheets("Feuil1") 'Adapte le nom de la feuille
> Set Rg = .Range("A:A")
> End With
>
> 'Trouve la cellule ayant le bon format pour
> 'y effectuer une ou des opérations quelconques...
> With Rg
> Set C = .Find(What:="", SearchFormat:=True)
> If Not C Is Nothing Then
> adr = C.Address
> Do
> 'Le code que tu veux exécuter avec la cellule trouvée
> 'Affiche le contenu des cellules ayant le format désiré
> With Worksheets("Feuil2") ' adapte le nom de la feuille
> .Range("A" & .Range("A65536").End(xlUp)(2).Row) = C
> End With
> 'pour passer à la cellule suivante ...
> Set C = .Find(What:="", after:=C, SearchFormat:=True)
> Loop Until C.Address = adr
> End If
> End With
>
> End Sub
> '----------------------------------------
>
>
>
>
> "Cyr73" a écrit dans le message de groupe de
> discussion
> :
> Bonjour,
>
> je vous sollicite de nouveau car je souhaiterais
> savoir si il est possible de récuperer les données "texte" qui se trouve
> dans les cellules colorer "en jaune clair" dans la feuilles "menus" en B3:B10
> et
> de les coler dans la feuille "menus client" dans A3 puis la deuxieme valeur
> trouvé
> en B2 ect..
> --
> Cordialement
>
> et avec tous mes remerciements..
>


Avatar
michdenis
Utilise cette macro :

Il se peut que sur ton application, l'index pour
la couleur soit différente, utilise un truc comme
ceci pour obtenir l'index :
x = Range("B7").Interior.ColorIndex

Au besoin tu adaptes le nom des feuilles et de la plage de cellules.
'--------------------------------------
Sub test()
Dim A As Long, Ligne As Long
Dim Cell As Range
With Worksheets("Menus")
For Each Cell In .Range("B3:B10")
If Not IsNumeric(Cell) = True Then
If Cell.Interior.ColorIndex = 6 Then
With Worksheets("Menus client")
A = A + 1
Ligne = .Cells(65536, A).End(xlUp)(2).Row
.Cells(Ligne, A) = Cell
End With
End If
End If
Next
End With
'--------------------------------------



"Cyr73" a écrit dans le message de groupe de discussion
:
bonsoir michdenis,

merci de ta rapidité, je ne trouve rien dans l'aide.
ma version d'excel est 2000.
--
Cordialement

et avec tous mes remerciements..


"michdenis" wrote:

Quelle est ta version d'Excel ?

Dans la section de la déclaration des variables, il y a cette ligne :

Dim LeCellFormat As CellFormat

Place ton curseur sur l'expression CellFormat et appelle l'aide
d'Excel en appuyant sur F1

Est-ce possible que ta version d'excel ne possède pas cet "Object"
dans le modèle objet vba de ta version d'Excel ? Si c'est le cas, il
faudra définir une autre procédure...



"Cyr73" a écrit dans le message de groupe de
discussion
:
Bonjour Michdenis,

merci pour ta réponse
la macro me renvoie "erreur de compilation, type défini par l'utilisateur
non défini."
te serait t il possible de rajouter le code pour copier la première cellules
jaune trouver dans la premiere cellules vide de la colonne B sur la feuille 2.
un grand merci à toi.
--
Cordialement

et avec tous mes remerciements..


"michdenis" wrote:

> Bonjour,
>
> La macro que je t'ai donnée dans ton message précédent fait
> ce que tu demandes :
>
> Dans la procédure, tu dois t'assurer que les références des feuilles
> et des plages de cellules sont exactes.
>
> Pour la couleur "jaune pâle" j'ai utilisé ceci :
> .Interior.ColorIndex = 36
>
> Mais la seule manière d'être certain que ton classeur utilise
> le même index que le mien est de faire un petit test
> x = range("A1").interior.ColorIndex
> en supposant que la cellule A1 a le format que tu cherches.
>
> '----------------------------------------
> Sub TrouverFormat()
>
> Dim Rg As Range
> Dim LeCellFormat As CellFormat
>
> Set LeCellFormat = Application.FindFormat
> 'Détermine les caractéristiques
> 'du format de cellule recherché.
> With LeCellFormat
> .Clear 'S'assurer d'effacer les critères
> 'des anciennes recherches
> .Interior.ColorIndex = 36
> 'La liste pourrait être plus longue ...
> End With
>
> 'Détermine la plage de cellules où s'effectue
> 'la recherche
> With Worksheets("Feuil1") 'Adapte le nom de la feuille
> Set Rg = .Range("A:A")
> End With
>
> 'Trouve la cellule ayant le bon format pour
> 'y effectuer une ou des opérations quelconques...
> With Rg
> Set C = .Find(What:="", SearchFormat:=True)
> If Not C Is Nothing Then
> adr = C.Address
> Do
> 'Le code que tu veux exécuter avec la cellule trouvée
> 'Affiche le contenu des cellules ayant le format désiré
> With Worksheets("Feuil2") ' adapte le nom de la feuille
> .Range("A" & .Range("A65536").End(xlUp)(2).Row) = C
> End With
> 'pour passer à la cellule suivante ...
> Set C = .Find(What:="", after:=C, SearchFormat:=True)
> Loop Until C.Address = adr
> End If
> End With
>
> End Sub
> '----------------------------------------
>
>
>
>
> "Cyr73" a écrit dans le message de groupe de
> discussion
> :
> Bonjour,
>
> je vous sollicite de nouveau car je souhaiterais
> savoir si il est possible de récuperer les données "texte" qui se trouve
> dans les cellules colorer "en jaune clair" dans la feuilles "menus" en B3:B10
> et
> de les coler dans la feuille "menus client" dans A3 puis la deuxieme valeur
> trouvé
> en B2 ect..
> --
> Cordialement
>
> et avec tous mes remerciements..
>