extraire des cellule ecrites en bleues

sonskriverez

XLDnaute Occasionnel
Bonjour,

J'ai une feuille de 3800 lignes dans la colonne D il y a soit des cellules écrites en bleues, soit en ecrites rouges, soit vides, soit écites en noires.

Je voudrais en VBA extraires toutes les lignes dont la cellule D est écrite en bleu et les copier dans une nouvelle feuille.

merci de votre aide

ci-joint un petit exemple [file name=essais_20051029100834.zip size=1723]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essais_20051029100834.zip[/file]
 

Pièces jointes

  • essais_20051029100834.zip
    1.7 KB · Affichages: 29

porcinet82

XLDnaute Barbatruc
Salut sonskriverez,

Regarde le fichier joint, il devrait faire ce que tu souhaites. Par contre j'en profite pour poser une petite question, donc si une âme charitable venait a la voire ce serait sympa d'y répondre.
Lorsque l'on veut selectionner une feuille, puis une cellule dans cette feuille, le code
Code:
Sheets('feuil1').Range('D1').Select
ne fonctionne que si la feuille selectionnée est la feuille (ici) 1. Si l'on est sur une autre feuille, il met une erreur. D'ou ma question, existe-t-il une commande (en une seule ligne) dont le code fait :
Code:
Sheets('feuil1').Select
Range('D1').Select

Voici le fichier: [file name=sonskriverez.zip size=7697]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/sonskriverez.zip[/file]

@+
 

Pièces jointes

  • sonskriverez.zip
    7.5 KB · Affichages: 35
  • sonskriverez.zip
    7.5 KB · Affichages: 30
  • sonskriverez.zip
    7.5 KB · Affichages: 30

andré

XLDnaute Barbatruc
Salut sonskriverez et porcinet82

Pour les amateurs de formules !

Â+

[file name=extraction_suivant_couleur_police.zip size=2533]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/extraction_suivant_couleur_police.zip[/file]
 
S

Sonskriverez

Guest
Porcinet e André,

Merci pour votre aide précieuse cela fonctionne, mais pas parfaitememnt.

Je voudrais:

1°) selectionner toutes les lignes dont la cellule D est bleue

2°° copier l'ensemble des lignes d'un seul coup dans une nouvelle feuille.

3°) supprimer de la feuille d'origne toute la selection

Car si je le fait dans une boucle au fur et à mesure sur 3800 lignes cela va prendre du temps

Porcinet pour ton bug de ligne j'ai le même pbl
 

porcinet82

XLDnaute Barbatruc
re Sonskriverez, salut andré,

Et bien je ne vois pas trop comment sélectionner autant de ligne en meme temps, si tu en aviais quelques une ca irait mais la je ne vois pas, et je ne sois pas du tout sur que ca ferait gagner du temps.

Par contre en ce qui concernent le fait de supprimer les lignes, tu peux utiliser une seconde macro du genre :

Code:
Sub suppr()
Dim i As Byte
Sheets('feuil1').Range('D1').Select
For i = 1 To Range('D65536').End(xlUp).Row
    If Cells(i, 4).Font.ColorIndex = 5 Then
        Rows(i).Delete
        i = i - 1
    End If
Next i
End Sub

@+
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir sonscriverez, porcinet82 et Ândré, bonsoir le forum,

En reprenant l'idée d'André d'ajouter une colonne (connais pas la fonction LIRE.CELLULE) avec une fonction personnalisée qui renvoie un 'X' quand la couleur est bleue, je t'ai concocté un petit quelquechose en VBA.

Pour qu'elle fonctionne correctement, il faut mettre l'option 'calcul sur ordre'. Puis elle trie les données en fonction de la nouvelle colonne, recherche la dernière cellule contenant un X (bleue, quoi !) puis sélectionnes d'un coup toutes les cellules bleues et effectue les opérations que tu demandais... à vérifier :ermm:

Tiens-nous au courant.

Amicalement
Charly [file name=SonskriverezV2.zip size=9902]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SonskriverezV2.zip[/file]
 

Pièces jointes

  • SonskriverezV2.zip
    9.7 KB · Affichages: 31
L

lE0nard

Guest
Bonjour le forum,
Bonjour Sonskriverez, porcinet82, Charly2, andré,

Merci andré d'avoir ressucité ce merveilleux fil et cette 'fonction' lire.cellule que j'utilise souvent avec bonheur pour la sélection selon couleur de police ou de fond de cellule!!
Désolé Sonskriverez de m'imiscer ici mais la solution proposée par barbatrucandré m'a fait jubiler!!
a+
 
S

sonskriverez

Guest
Merci à tous pour votre aide, mais je ne m'en sort pas.

Je vous joint une partie de mon fichier.( le complet fait 3880 lignes et il est un peu gros pour le poster)

pour résumé :

1°) création d'une nouvelle feuille ( pour ça c'est tout good, la macro foctionne).

2°) copie des données en bleus dans la nouvelle feuille, c'est la que cela ne marche pas et je sais pas pourquoi ?

Peut-être est-ce de décalage horaire !!!

marci du coup de main [file name=essais_20051030132815.zip size=38585]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essais_20051030132815.zip[/file]
 

Pièces jointes

  • essais_20051030132815.zip
    37.7 KB · Affichages: 39
S

sonskriverez

Guest
Merci à tous pour votre aide, mais je ne m'en sort pas.

Je vous joint une partie de mon fichier.( le complet fait 3880 lignes et il est un peu gros pour le poster)

pour résumé :

1°) création d'une nouvelle feuille ( pour ça c'est tout good, la macro foctionne).

2°) copie des données en bleus dans la nouvelle feuille, c'est la que cela ne marche pas et je sais pas pourquoi ?

Peut-être est-ce de décalage horaire !!!

marci du coup de main [file name=essais_20051030132914.zip size=38585]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/essais_20051030132914.zip[/file]
 

Pièces jointes

  • essais_20051030132914.zip
    37.7 KB · Affichages: 33

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir Sonskriverez et le fil, bonsoir le forum,

Je te propose une solution alternative qui, je pense, fonctionnera un peu plus vite qu'en scannant les cellules les unes après les autres.

Tu trouveras le code dans la procédure TraiteCellulesBleues. Elle ne te crée pas de nouvelle feuille, mais dans module 1, tu indiques les noms des feuilles sources et destination (en constantes au début du module). Avec une colonne supplémentaire qui retourne un 'X' si la cellule citée est bleue et '' dans le cas contraire.

Elle effectue les opérations suivantes :

1. Tri des cellules par le 'X' de cette colonne supplémentaire (toutes les cellules bleues se retrouvent en haut sans modifier l'ordre des autres.

2. Repérage de la zone contenant les cellules bleues

3. Copier/coller de la feuille source à la feuille destination.

Je l'ai testée sur ton fichier, elle fonctionne bien et assez rapidement.

Amicalement
Charly
 

Charly2

Nous a quittés en 2006
Repose en paix
Obligé de modifier le fichier : trop gros :( [file name=SonskriverezV3.zip size=51002]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SonskriverezV3.zip[/file]
 

Pièces jointes

  • SonskriverezV3.zip
    49.8 KB · Affichages: 36

porcinet82

XLDnaute Barbatruc
Bonjour a tous,

Je vois que je reviens lorsque la bataille est terminé, cependant pas pour rien puisque ce fil est vraiment interressant au niveau de son contenu notamment concernant les formules. Moi qui est du mal a m'y mettre, je crois que je vais devoir commencer...

Merci pour cet afflu de connaissance qui vient enrichir mon maigre savoir. ;)

Bonne journée a tous

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 558
Messages
2 089 597
Membres
104 221
dernier inscrit
legendking85