J'ai besoin de trier mes données d'une manière bien spécifique pour répondre aux besoin d'une autre application.
J'ai des données en ligne, je souhaiterai accoler les lignes cotes à cotes, mais en ne faisant qu'une seule ligne par adresse email.
Ex : le tableau suivant
@1
B1
C1
D1
@1
B2
C2
D2
@1
B3
C3
D3
@2
B4
C4
D4
@2
B5
C5
D5
@3
B6
C6
D6
doit devenir le suivant :
@1
B1
C1
D1
B2
C2
D2
B3
C3
D3
@2
B4
C4
D4
B5
C5
D5
@3
B6
C6
D6
Je m'y attelle en ce moment même mais votre aide est la bienvenue si vous avez une manière simple de m'aider
Par contre mes données vont par block de 3 cases (B1,C1,D1 par exemple) donc il le fait de d'exclure les cases vides du tri ne m'arrange pas plus que ça.
Bonjour,
Un exemple de code dans le fichier joint.
Attention ! Le tri ne porte que sur la colonne 1. Si tu veux qu'une autre colonne prévale dans l'ordre du résultat il faut modifier la fonction de tri pour prendre en compte une 2ème colonne de tri.
Intéressant, je ne connaissais pas le Range.Sort que j'ai donc utilisé dans ma macro pour éviter une fonction de tri et qui permet une plus grande souplesse sur l'utilisation des clés.
Je n'ai jamais utilisé les VBA Dictionnary ayant jusque là placé les valeurs en table directement à partir des Range.Value. Je suppose que l'intérêt dans ce cas est l'unicité de la clé pour éviter les doublons.
Je ne comprends pas pourquoi, dans le tableau fourni par Autobiome, les valeurs @1, @2, etc... me posent des problèmes en manipulation Excel.
Le .Sort que j'utilise dans mon code est un reliquat des anciennes versions de VBA avant que Microsoft ne sorte l'objet Sort. Le .Sort a plus de limitations que l'objet Sort (en premier lieu, on ne peut utiliser qu'au maximum trois clef : key1 , key2 , key3). Mais dans 99% des cas de tri que j'ai rencontré, c'est suffisant. L'avantage c'est que ça tient en une seule instruction.
Les Dictionary sont pratiques mais interdits aux possesseurs de MAC. Ils ne sont pas forcément plus rapides que d'autres méthodes par tableaux. Souvent, ils simplifient le code et limite sa taille.
Quand Excel voit un @ dans une saisie, il l'interprète comme une adresse mail de type xxxx@yyyy.
Quand on saisit @2, il manque le xxxx, donc il trouve une erreur. Vous pouvez :
soit saisir '@2
soit préformater la cellule au format texte
Soit autre chose que je ne connais pas encore ou que j'ai oubliée
Dudu2 : Ta réponse ne semble pas fonctionner chez moi :-/ :
Mapomme : ça marche bien merci !
Par contre mes données vont par block de 3 cases (B1,C1,D1 par exemple) donc il le fait de d'exclure les cases vides du tri ne m'arrange pas plus que ça.
Mais bon normalement je ne dois pas en avoir (normalement !) donc ça va le faire
Par contre mes données vont par block de 3 cases (B1,C1,D1 par exemple) donc il le fait de d'exclure les cases vides du tri ne m'arrange pas plus que ça.
Certainement pas moi (ce qui ne t'aide en aucune manière de le savoir ). Je sors de 5 mois de Excel 2007 et mon nouveau micro (avec Excel 2010) est assez verrouillé donc pour l'instant pas de PQ. J'en reste au clou avec les feuilles découpées dans un journal comme jadis - notons qu'à cette fin, les feuilles Excel ne sont, walou, d'aucune utilité.
•>mapomme
Merci d'être passé mapomme
Si tu croises chris ou Amilo à l'agence des amants de Mme Muller, dis leurs bien qu'un animal en quarantaine est bloqué avec son PQ , son X et sa Table