Autres Copier le contenu de plusieurs cellules en fonction de la couleur de fond

beauserge

XLDnaute Nouveau
Bonjour à tous

Voici mon problème..
Sur excel 2007, j'ai une feuille qui se nomme (Donations) contenant sur la même colonne des cellules (de A11 à A85) qui change de couleur de fond en fonction d'une formule MFC.

Je voudrais recopier uniquement les cellules ayant une couleur de fond bleu (couleur en décimal = 14922983)
sur une 2ème feuille se nommant (Recap)

j'ai tenté de faire une macro à partir d'exemple que j'ai pu trouver mais ça me renvoie une erreur d'execution 9 - "L'indice n'appartient pas à la selection" ??
Je cale car je suis vraiment novice en Vba.

Voici le code en question qui coince :

Sub Macro1()
'
Dim cell As Range
For Each cell In Sheets("Donations").Range("A11:A85")
If cell.Interior.Color = 14922983 Then
cell.Copy
Sheets("Recap").Select
Sheets("Recap").Cells(Range("H65535").End(xlUp).Row + 1, 8).Select

ActiveSheet.Paste
End If

Next cell
End Sub

-------------------------------

Un petit coup de main serait le bienvenu pour dénouer ce problème ..

Merci d'avance pour votre aide

A vous lire
Salutations
Serge
 
Solution
Le fil

Version avec effacement des données en feuille Recap

Ensuite, j'aurai un dilemme, quelle macro utiliser ? celle de Soan ou la tienne ? lol😏
Perso dans l'ordre je dirais tu prends celle que :
1) Tu pourras maintenir tout seul si tu as besoin d'une modification dans X temps
1) Tu comprends le mieux

3) Tu es capable de transposer dans un autre fichier pour d'autre besoin.

*Il y a deux 1) c'est fait exprès ;)

@Phil69970

beauserge

XLDnaute Nouveau
Bonsoir Phil

Merci pour ta réactivité !
ça fonctionne impeccable ! Super

Peux tu m'expliquer en quelques mots le changement que tu as ajouté ?
ce code ... If .Range("H" & i) > 0 And .Range("H" & i) <> "" Then ....

-------------

J'ai vu que avais aussi modifié la macro 1 (dons négatifs) - est ce que je dois la changer aussi car celle là fonctionnait bien ?

Mais as tu une explication sur l'ancienne Macro qui à buggée ? car avant ce matin que je ne rajoute une colonne mais après celle des écarts, cela n'a plus fonctionnait ? J'aimerai si possible comprendre pourquoi ?

Merci
A te lire
Serge
 

Phil69970

XLDnaute Barbatruc
Le fil

@beauserge
If .Range("H" & i) > 0 And .Range("H" & i) <> "" Then ....
Que l'on peut traduire par :
Si la cellule (H & i) est supérieur à 0 ET différent de vide alors ..... cela permet d'exclure les valeurs vides
J'ai vu que avais aussi modifié la macro 1 (dons négatifs)
Oui j'ai modifié cette macro
==> Ta macro ==> If .Range("H" & i) <= 0
Par
==> Ma macro ==> If .Range("H" & i) = 0

Car je ne connais pas de dons inférieur à 0 c'est ce que j'ai appelé un "don négatif"
Maintenant si tu me dis qu'il est possible d'avoir un don négatif remet comme avant :oops:

@Phil69970
 

soan

XLDnaute Barbatruc
Inactif
Bonsoir Serge, Phil,

un don négatif ! mdr !!! 🤣 ça signifierait que j'aurai à payer le don ! 😭
des dons comme ça, non merci ! je m'en passe très facilement ! 😃

formule spéciale : don négatif = impôt à payer

c'est le Fisc qui va être ravi ! des recettes
en plus pour l'État ! super !!! 😊


soan
 

beauserge

XLDnaute Nouveau
Bonsoir Soan ...

@Phil
Ok pour l'explication de ton code.

Et non il n'est pas possible d'avoir un don négatif bien sur .
Donc je vais corriger la macro comme tu me dis

Bon je ne saurais pas pourquoi l'ancienne macro à buggée mais c'est pas grave .

Merci encore Phil pour ton aide.
Bonne soirée à vous 2
Serge
 

Discussions similaires

Statistiques des forums

Discussions
315 093
Messages
2 116 137
Membres
112 668
dernier inscrit
foyoman