Compter nb de cellules en couleur et copier vers d'autres feuilles

ABDELHAK

XLDnaute Occasionnel
Bonjour le forum,

Je m’essaye à la VBA mais hélas sans succès. Voici donc ma nouvelle requête si vous le voulez bien entendu.
J’ai un fichier avec +/- 5500 lignes :
( A2:A5500 ) = dates
( B2:U2 ) = ligne 2 ( 20 chiffres avec des cellules à fond vert et des cellules sans remplissage )
( B3:U3 ) = ligne 3 ( 20 chiffres avec des cellules à fond vert et des cellules sans remplissage )
( B4:U4 ) = ligne 4 ( 20 chiffres avec des cellules à fond vert et des cellules sans remplissage )
( B5:U5 ) = ligne 5 ( 20 chiffres avec des cellules à fond vert et des cellules sans remplissage )
Et ainsi de suite ……
( B5500:U5500 ) = ligne 5500 ( 20 chiffres avec des cellules à fond vert et des cellules sans remplissage )

J’aimerais que la macro compte le nombre des cellules à fond vert ligne par ligne

1. Si ce nombre < 6 alors supprimer la ligne
2. Si ce nombre = 7 alors copier / coller la ligne vers sheet ( C7 )
3. Si ce nombre = 8 alors copier / coller la ligne vers sheet ( C8 )
4. Si ce nombre = 9 alors copier / coller la ligne vers sheet ( C9 )
5. Si ce nombre = 10 alors copier / coller la ligne vers sheet ( C10 )

Je joins une pièce jointe.

En espérant avoir été claire et précis, je vous remercie d’avance pour tout ce vous avez déjà fait pour moi.

Amicalement vôtre.

Abdelhak
 

Pièces jointes

  • TEST_C.xls
    131.5 KB · Affichages: 80

ABDELHAK

XLDnaute Occasionnel
Re : Compter nb de cellules en couleur et copier vers d'autres feuilles

bonjour vgendron,

en plein dans le mille, mais ce n'est pas le + important, "ma vision farfelue" a 1 chance sur 1000000000 de fonctionner.
par contre je suis rentré dans un monde passionnant le VBA et j'ai rencontré virtuellement certes des gens formidable.

A+

ABDELHAK
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Compter nb de cellules en couleur et copier vers d'autres feuilles

Bonsoir le fil, bonsoir le forum,

Je m'étonnes qu'on veuille encore trouver des solutions VBA aux jeux de tirages ou de grattages puisque déjà en 2005 j'avais donné la recette pour gagner au loto à tous les coups...

P... en me relisant j'ai trouvé que je devenais mois rigolo en vieillissant et certainement plus c... !
 
Dernière édition:

ABDELHAK

XLDnaute Occasionnel
Re : Compter nb de cellules en couleur et copier vers d'autres feuilles

Bonjour le forum

Une nouvelle requête à vous demander parce que je coince encore une fois. J’ai bien essayé de bricoler une macro inspiré par sieur ROBERT mais hélas sans résultats.
J’ai un fichier avec plusieurs feuilles. Dans chaque feuilles, il y a plusieurs lignes (A2:U2, A3:U3, A4:U4, …, A5800:U5800) et (X2:AQ2, X3:AQ3, X4:AQ4, …, X5800:AQ5800).
Colonne A = dates
Colonne B à U = cellules contenant des chiffres, elles ont toutes un fond vert.
Colonne X à AQ = cellules contenant des chiffres, certaines ont un fond vert et elles ont toutes un fond transparent.
J’aimerais que la macro cherche les valeurs identiques se trouvant dans les cellules (A2:U2) et celles se trouvant dans (X2:AQ2).
Si elles sont identiques exécuter un couper / coller des cellules (A2:U2) vers les cellules (X2:AQ2).

Une pièce jointe accompagne cette demande

Amicalement vôtre

ABDELHAK

N.B. :

Sub COUPER_COLLER_CELLULES_VERTES()
'
' ELAB_CN_UN Macro
' Macro enregistrée le 26/12/2012 par ABDEL COMPTE LE NB DE CELLULES A FOND VERT PAR LIGNE


Dim LI As Long 'déclare la variable LI (LIgne)
Dim DL As Long 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim col As Byte 'déclare la variable COL (COLonne)
Dim C1 As Range
Dim C2 As Range

Set C1 = [B2:U2]
Set C2 = [X2:AQ2].Find(C1, , xlValues, xlWhole)
For LI = DL To 2 Step -1
For col = 2 To 43
If Cells(LI, col) Then C1.Cut C2
Next col 'prochaine cellule de la boucle 2
Next LI

End Sub
 

Pièces jointes

  • COMBAT_NAVAL_BIS - Copie.xls
    233 KB · Affichages: 44

Robert

XLDnaute Barbatruc
Repose en paix
Re : Compter nb de cellules en couleur et copier vers d'autres feuilles

Bonjour Abdelhak, bonjour le forum,

Pas vraiment compris ton problème... Que signifie identique ? Et si elles sont identiques à quoi sert le couper/coller ? Pourrais-tu redonner un exemple en montrant avant et après le traitement par la macro...
 

ABDELHAK

XLDnaute Occasionnel
Re : Compter nb de cellules en couleur et copier vers d'autres feuilles

Bonsoir staple1600

j ai essaye la macro que vous m avez envoye et elle fonctionne parfaitement.
Excusez moi je n avais pas compris qu il fallait rajouter la fonction.
Maintenant c est fait.

Mille mercis

a bientot je l espere

amicalement votre

abdelhak
 

ABDELHAK

XLDnaute Occasionnel
Re : Compter nb de cellules en couleur et copier vers d'autres feuilles

Bonsoir ROBERT,

Encore merci de me répondre. Le couper coller c’est uniquement pour garder le fond vert des cellules de mêmes valeurs.
J’ai mis dans la pièce jointe un avant et un après, c’est plus explicite.

Amicalement vôtre

ABDELHAK
 

Pièces jointes

  • COMBAT_NAVAL_BIS - Copie_4.xls
    217 KB · Affichages: 44

Robert

XLDnaute Barbatruc
Repose en paix
Re : Compter nb de cellules en couleur et copier vers d'autres feuilles

Bonsoir le fil, bonsoir le forum,

Essaie comme ça Abdelhak :
Code:
Sub Macro1()
Dim O As Object 'déclare la variable O (Onglet)
Dim DL As Long 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim LI As Range 'déclare la variable LI (LIgne)
Dim CEL As Range 'déclare la variable CEL (CELlule)
Dim COL As Byte 'déclare la variable COL (COLonne)

Set O = Sheets("Feuil2") 'définit l'onglet O
DL = O.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (=A) de l'onglet O
Set PL = O.Range("B2:U" & DL) 'définit la plage PL
For Each LI In PL.Rows 'boucle 1 : surt toutes les lignes LI de la plage PL
    For Each CEL In LI.Cells 'boucle 2 : sur toutes les cellules CEL de la ligne LI
        For COL = 24 To 43 'boucle 3 : sur les colonnes 24 à 43 (= X à AQ)
            'si les cellules sont égales, colore de vert la cellule correspondante en colonne COL
            If Cells(LI.Row, COL).Value = CEL.Value Then Cells(LI.Row, COL).Interior.ColorIndex = 4
        Next COL 'prochaine colonne de la boucle 3
    Next CEL 'prochaine cellule de la boucle 2
Next LI 'prochaine ligne de la boucle 1
End Sub
 

ABDELHAK

XLDnaute Occasionnel
Re : Compter nb de cellules en couleur et copier vers d'autres feuilles

Bonsoir ROBERT,

Quelques mots pour exprimer toute ma gratitude à votre égard et par la même occasion à tous ceux qui ont bien voulu m’aider dans le forum (petite pensée à staple1600).
Votre macro fonctionne à merveille, de plus les commentaires qui accompagnent celle-ci m’aideront j’espère à mieux cerner les boucles et je vous en remercie.
Comme vous avez pu le remarquer, j’avais bricolé une macro en m’inspirant de celle que vous m’avez réalisée précédemment, sans succès.
J’aimerais néanmoins vous demander une autre faveur.
En effet, j’aurai besoin de vos judicieux conseils pour pouvoir enfin réaliser une petite macro avec une boucle car je n’ai toujours pas compris le principe de celle-ci..
Je ne sais pas s’il est permis, dans le forum, de donner « des cours de VBA ».
Dans tous les cas 1000 mercis et chapeau pour ce que vous faîtes.
Si j’ai un seul regret, c’est celui de ne vous avoir pas connu plus tôt.
Et encore merci.

Amicalement vôtre

ABDELHAK
 

Discussions similaires

Statistiques des forums

Discussions
312 287
Messages
2 086 829
Membres
103 397
dernier inscrit
Kilement