Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

@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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…