Trier et Ranger des données

Valoche54000

XLDnaute Nouveau
Bonjour la communauté,

Dans la poursuite de mon projet, j'ai une nouvelle fois besoin de vos lumières, car j'ai bien fouiller le forum.

Dans le fichier téléchargé, il y a 2 onglets.

Le premier '' ACAjaccio '' contient des matches aller/retour colonnes A B et C, obtenu après divers manip.

Le second le résultat que je devrais obtenir.

Je n'ai pas réussi à exploiter rechercheh ou V.

Donc je me suis dis que vous serez d'une grande aide là-dessus.

Merci d'avance
 

job75

XLDnaute Barbatruc
Bonjour Valoche54000, djidji54000, [Edit] pardon djidji59430,

Si vous voulez récupérer les couleurs (appliquées par MFC) des formules ne suffisent pas.

Il faut faire des copier-coller, et bien sûr en VBA.

Sur un autre fil je vous ai montré comment faire.

A+
 
Dernière édition:

djidji59430

XLDnaute Barbatruc
et que veux tu exactement ?
les resultats en face des matches ? (un copier/coler avec liaison suffit)
Le tableau complet, avec les couleur sans savoir pourquoi ? En VBA, donc sans moi ...

Crdlmt
ps bonjour a vous deux
on s'est croisé.
JOB, j'habite dans le Nord, pas dans la Meurthe et Moselle (quoique j'ai mon service militaire a la musique du 26ème RI, qui était un des régiments de Nancy, si ça compte ....)
 

Valoche54000

XLDnaute Nouveau
Bonjour Valoche54000, djidji54000,

Si vous voulez récupérer les couleurs (appliquées par MFC) des formules ne suffisent pas.

Il faut faire des copier-coller, et bien sûr en VBA.

Sur un autre fil je vous ai montré comment faire.

A+

Bonjour Job75,

effectivement tu a réussi à à réaliser les matches aller/retour sauf que les données ne me sont pas exploitables dans l'état.

J'ai besoin que la cellule soit bien reconnue '' colorée '' par excel or suite à la MFC il n'y a pas de reconnaissance.
 

Valoche54000

XLDnaute Nouveau
et que veux tu exactement ?
les resultats en face des matches ? (un copier/coler avec liaison suffit)
Le tableau complet, avec les couleur sans savoir pourquoi ? En VBA, donc sans moi ...

Crdlmt
ps bonjour a vous deux
on s'est croisé.
JOB, j'habite dans le Nord, pas dans la Meurthe et Moselle (quoique j'ai mon service militaire a la musique du 26ème RI, qui était un des régiments de Nancy, si ça compte ....)

On s'est certainement croisé je suis une St Poloise :) donc je connais ton code postal ainsi que le cheval blanc après la Passerelle :) avec de la chance tu as été à Deconinck !

Sinon, oui j'ai besoin des couleurs car j'ai préparé la suite de mon projet là dessus.

Si un pro en VBA pouvait se pencher dessus je serai contente ! car je fais tout à la main elle cela me prend du temps...
 

job75

XLDnaute Barbatruc
Re,
Bonjour Job75,

effectivement tu a réussi à à réaliser les matches aller/retour sauf que les données ne me sont pas exploitables dans l'état.

J'ai besoin que la cellule soit bien reconnue '' colorée '' par excel or suite à la MFC il n'y a pas de reconnaissance.
Vous êtes complètement à côté de la plaque :rolleyes:

Sachez que depuis Excel 2007 il existe la propriété DisplayFormat, testez cette macro sur une cellule avec MFC :
Code:
Sub Test()
MsgBox ActiveCell.DisplayFormat.Interior.ColorIndex
End Sub
Donc vous pouvez facilement exploiter ce que je vous ai déjà fourni ici :

https://www.excel-downloads.com/thr...lle-a-lautre-avec-cellules-colorees.20025869/

Mais si vous tenez absolument à disposer les résultats sur 2 lignes voyez le fichier joint et cette macro :
Code:
Sub AllerRetour()
'se lance par Ctrl+R
Dim t, ub&, i&, x$, j&, n%
Application.ScreenUpdating = False
Range("J:J", Columns(Columns.Count)).Delete 'RAZ
With Range("G1", Range("I" & Rows.Count).End(xlUp))
    .Copy .Offset(, 3) 'copier-coller
    .Columns(7) = "=G1&H1" 'colonne M auxiliaire
    .Columns(8) = "=H1&G1" 'colonne N auxiliaire
    t = .Columns(7).Resize(, 2) 'matrice, plus rapide
End With
ub = UBound(t)
For i = 1 To ub - 1
    x = t(i, 1)
    For j = i + 1 To ub
        If t(j, 2) = x Then
            Cells(i, "J").Resize(, 3).Cut Range("O1").Offset(, n) 'couper-coller
            Cells(j, "J").Resize(, 3).Cut Range("O2").Offset(, n) 'couper-coller
            n = n + 3
            Exit For
        End If
Next j, i
[J:N].Delete
Range("J:J", Columns(Columns.Count)).Columns.AutoFit 'ajustement largeur
Range("J1", Cells(1, Columns.Count)).SpecialCells(xlCellTypeConstants, 1).ColumnWidth = 4
With ActiveSheet.UsedRange: End With 'actualise la barre de défilement horizontale
End Sub
A+
 

Pièces jointes

  • TEST2Bis(1).xlsm
    27.6 KB · Affichages: 26

Valoche54000

XLDnaute Nouveau
Re,

Vous êtes complètement à côté de la plaque :rolleyes:

Sachez que depuis Excel 2007 il existe la propriété DisplayFormat, testez cette macro sur une cellule avec MFC :
Code:
Sub Test()
MsgBox ActiveCell.DisplayFormat.Interior.ColorIndex
End Sub
Donc vous pouvez facilement exploiter ce que je vous ai déjà fourni ici :

https://www.excel-downloads.com/threads/macro-pour-transférer-des-données-dun-feuille-à-lautre-avec-cellules-colorées.20025869/#post-20196304

Mais si vous tenez absolument à disposer les résultats sur 2 lignes voyez le fichier joint et cette macro :
Code:
Sub AllerRetour()
'se lance par Ctrl+R
Dim t, ub&, i&, x$, j&, n%
Application.ScreenUpdating = False
Range("J:J", Columns(Columns.Count)).Delete 'RAZ
With Range("G1", Range("I" & Rows.Count).End(xlUp))
    .Copy .Offset(, 3) 'copier-coller
    .Columns(7) = "=G1&H1" 'colonne M auxiliaire
    .Columns(8) = "=H1&G1" 'colonne N auxiliaire
    t = .Columns(7).Resize(, 2) 'matrice, plus rapide
End With
ub = UBound(t)
For i = 1 To ub - 1
    x = t(i, 1)
    For j = i + 1 To ub
        If t(j, 2) = x Then
            Cells(i, "J").Resize(, 3).Cut Range("O1").Offset(, n) 'couper-coller
            Cells(j, "J").Resize(, 3).Cut Range("O2").Offset(, n) 'couper-coller
            n = n + 3
            Exit For
        End If
Next j, i
[J:N].Delete
Range("J:J", Columns(Columns.Count)).Columns.AutoFit 'ajustement largeur
Range("J1", Cells(1, Columns.Count)).SpecialCells(xlCellTypeConstants, 1).ColumnWidth = 4
With ActiveSheet.UsedRange: End With 'actualise la barre de défilement horizontale
End Sub
A+

Bonsoir job75,

Je ne voulais pas te froisser ;(

C'est exactement ce que je voulais !
 
Dernière édition: