Formule excel si A1 en fond rouge alors

jerem5151 Messages postés 4 Statut Membre -  
Mike-31 Messages postés 18404 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, j'ai un problème pour créer une formule sur Excel.
J'aimerais pouvoir que: si par exemple A1 à un fond rouge que cette case sois recopier en feuille 2 par exemple et que si il n'y a pas de fond couleur qu'il ne fasse rien.

Je sais pas si c'est possible, je n'est trouver aucune réponse dans ce sens par contre pleins dans le sens inverse. Si ce n'est pas possible avec un fond de couleur j'avais également envisagé avec un texte qui serait en gras ou italique.
Si quelqu'un à la solution ou une idée je suis preneur merci

A voir également:

6 réponses

Mike-31 Messages postés 18404 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Salut,

Le fond rouge de ta cellule, à été colorisé manuellement ou par mise en forme conditionnelle, si c'est le cas quel est la formule de ta mise en forme

As tu quelques notions en VBA (macro)
0
jerem5151 Messages postés 4 Statut Membre
 
Le fond rouge est fait a partir d'une macro quand besoin est. Oui j'ai quelques notion en macro.
0
jerem5151 Messages postés 4 Statut Membre
 
cela n'inspire personne???
0
Mike-31 Messages postés 18404 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

Je t'avais posté une réponse qui apparemment n'a pas été prise en compte,

pour copier la cellule A1 si elle est rouge vers la cellule A2 feuille 2

Sub Macro1()
If [A1].Interior.ColorIndex = 3 Then [A1].Copy
Sheets("Feuil2").Select
Range("A2").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub

Mais je pense que tu souhaites plutôt faire un balayage de la colonne A et copier les cellules vers la feuille 2 colonne A les une à la suite des autres

Sub Macro2()
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long
Dim LigFin As Long
Col = "A"
With Sheets("Feuil1")

NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Interior.ColorIndex = 3 Then
.Cells(Lig, Col).Copy
Sheets("Feuil2").Activate
LigFin = Range("A65536").End(xlUp).Row + 1
NumLig = 1
NumLig = NumLig + 1
Cells(LigFin, 1).Select
LigFin = LigFin + 1
ActiveCell.PasteSpecial Paste:=xlPasteValues
End If
Next
End With
End Sub
0

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

Posez votre question
jerem5151 Messages postés 4 Statut Membre
 
Merci pour cette réponse. Il faut que je recopie texto ceci ou il y a quelques phrases a changer ?
0
Mike-31 Messages postés 18404 Date d'inscription   Statut Contributeur Dernière intervention   5 140
 
Re,

Ce code copiera les données de la Feuil1 colonne A dont le fond des cellules est de couleur rouge sur la Feuil2 colonne A les unes à la suite des autres. il suffit de coller le code dans un module et l'associer à un bouton ou le coller dans les propriétés d'un controle activex

Sub Macro2()
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long
Dim LigFin As Long
Col = "A"
With Sheets("Feuil1")
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Interior.ColorIndex = 3 Then
.Cells(Lig, Col).Copy
Sheets("Feuil2").Activate
LigFin = Range("A65536").End(xlUp).Row + 1
NumLig = 1
NumLig = NumLig + 1
Cells(LigFin, 1).Select
LigFin = LigFin + 1
ActiveCell.PasteSpecial Paste:=xlPasteValues
End If
Next
End With
End Sub

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0