problème chronologie apres copie (VBA)

  • Initiateur de la discussion Initiateur de la discussion JJ
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

JJ

Guest
Bonsoir à tous,
J'ai un fichier Excel, la colonne F est la colonne horodatage dont certaines cellules sont rouges.
Le fichier est ordonné : fin de fichier date plus ancienne et debut de fichier😛lus récente.
Ma macro suivante 'déclasse' la chronologie:

fin=Feuil1.Range('F:F').End(xlDown).Row
For n = fin to 1 Step -1
If Cells(n,6).Font.ColorIndex = 3 Then
Rows(n).Copy Destination:=Rows(fin+1)
Rows(n).delete
End I
Next n

En effet les lignes avec cellules en F rouges sont bien en bas de tableau (à la suite de celles qui ne sont pas rouges) mais dans l'ordre chronlogique décroissant, comment puis je faire pour copier dans le sens inverse?
merci
Bonne soirée
JJ
 
Salut
Le plus simple;

fin=Feuil1.Range('F:F').End(xlDown).Row
For n = 1 to fin
If Cells(n,6).Font.ColorIndex = 3 Then
Rows(n).Copy Destination:=Rows(fin+1)
End If
Next n
For n = fin to 1 Step -1
If Cells(n,6).Font.ColorIndex = 3 Then
Rows(n).delete
End If
Next n

A+

Message édité par: Gorfael, à: 05/06/2006 23:39
 
je dirais même plus :

Sub Test()
fin = Feuil1.Range('F:F').End(xlDown).Row
For n = 1 To fin
If Cells(n, 6).Font.ColorIndex = 3 Then
i = i + 1
Rows(n).Copy Destination:=Rows(fin + i)
End If
Next n
For n = fin To 1 Step -1
If Cells(n, 6).Font.ColorIndex = 3 Then
Rows(n).Delete
End If
Next n
End Sub

A+
 
Bonsoir, je viens d'essayer le code et il m'efface toutes mes lignes rouges???
je ne comprends pas.
Je mets un ex avec des lettres qui représentent 7 lignes Excel🙁Aplus récent, G plus ancien en date)

A
B
C
D
E
F
G
Supposons que B, D et E soient rouges en col F

Après passage de ma macro j'obtiens:
A
C
F
G
E
D
B

je voudrais:
A
C
F
G
B
D
E
On voit bien que l'emplacement de B,D,E et E,D,B est different chronologiquement.

Avec votre code B D et E ont totalement disparu, il ne me reste que les lignes noires !

Bonne soirée
JJ
 
Re,
Il me vient une idée: quand on fait le copy destination des lignes rouges, on pourrait en profiter pour attribuer une autre couleur (bleu par ex) et ensuite supprimer les anciennes rouges sans toucher aux lignes bleues?
Est ce possible?
Sinon on cree puis efface les lignes rouges?
Bonne soirée et merci
JJ
 
Bonsoir
je le teste de suite , je n'avais pas vu la ligne avec 'i', que va t il changer?
la suite de la macro va bien faire un delete des lignes rouges non? et il ne me rerstera que les lignes noires.
je vais essayer de suite
Encore merci
JJ
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
915
Réponses
7
Affichages
831
D
Réponses
4
Affichages
1 K
Retour