Je reviens vers vous car j'ai encore besoin de vos lumières!!
Voici mon nouveau problème:
Dans mon tableau "suivi de client" à partir de mon tableau suivi d'activité:
- je souhaite trier le nom des clients par odre alphabetique
- additionner les montants s'il y a doublon (en fonction du nom + prénom)
- Mettre la date la plus élevé s'il y a également un doublon (en fonction du nom + prénom).
Merci d'avance à celui ou celle qui pourra m'aider!!
Re : VBA: Trier par ordre alpha + faire somme si dans macro deja existante
Bonjour Pierrejean,
Ah oui en effet le résultat est plutot étrange... en plus la macro se formule dans la sheet(1), alors que les résultats aurais du apparaître dans la sheet(4).
Je vais essayer de voir ou est l'erreur que je cherche mais en tout cas merci pour ton aide.
Re : VBA: Trier par ordre alpha + faire somme si dans macro deja existante
Bonjour.
Un essai avec une partie de quelques outils de mon cru que je vous ai installés.
Récapitulatif mis à jour à l'activation de Feuil4.
P.S. Attention j'ai fourni une autre mouture:
- Une instruction inutile supprimée
- Un test While effectué en fin de la grande boucle plutôt qu'en début
- Les colonnes sources paramétrées en Array (Inspiré de la solution de PierreJean que je salue)
Re : VBA: Trier par ordre alpha + faire somme si dans macro deja existante
Danreb,
une petite question dans ton code, je ne vois pas ou est la ligne qui recopie la date... en feuille 1 on a la date en version française et en feuille 4 on a la date en format américaine.
J'ai déjà vérifié dans le format de cellule, mais les paramètres sont bons...
En tout cas encore un grand bravo malgrès que je ne comprend pas grand chose à ce que tu m'as écris... lol
Re : VBA: Trier par ordre alpha + faire somme si dans macro deja existante
Chez moi, sur Excel 2003 je n'ai pas de différence de date entre départ et arrivée.
Ça se fait de tableau à tableau. Pour la 1ère occurrence du nom/prénom c'est intégré à :
VB:
For Cs = 1 To 11
Ce = TCe(Cs): If Ce <> 0 Then Ts(Ls, Cs) = Te(Le, Ce)
Next Cs
Et pour les suivante elle est supplantée seulement si la nouvelle est supérieure :
VB:
If Te(Le, CeDat) > Ts(Ls, CsDat) Then Ts(Ls, CsDat) = Te(Le, CeDat)
Serait ce plus clair en précisant pour mes noms de variables à 2 lettres leurs sens ? :
T= tableau, L= ligne, C= colonne, e= d'entrée, s= de sortie.
À +