Macro excel, trie colonnes
Résolu/Fermé
Jobafi
-
13 mars 2009 à 15:05
Mike-31 Messages postés 18384 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 9 avril 2025 - 16 mars 2009 à 08:34
Mike-31 Messages postés 18384 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 9 avril 2025 - 16 mars 2009 à 08:34
A voir également:
- Macro excel, trie colonnes
- Trier colonne excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule moyenne excel plusieurs colonnes - Guide
- Déplacer une colonne excel - Guide
- Liste déroulante excel - Guide
5 réponses
Mike-31
Messages postés
18384
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 avril 2025
5 127
13 mars 2009 à 17:54
13 mars 2009 à 17:54
re,
Récupéres l'exemple avec ce lien
https://www.cjoint.com/?dpr1P1b5Me
Ne connaissant pas tes connaissance en VBA j'ai opté pour ce genre de code, facile à interpréter
Sub test()
'sélectionne la feuille2 ou le nom de la feuille de données
Sheets("Feuil2").Select
'sélectionne la plage de données dans laquelle doivent se faire les recherches
Range("C1:D46").Select
'nomme la plage
ActiveWorkbook.Names.Add Name:="Base", RefersToR1C1:="=Feuil2!R1C3:R14C4"
'reviens feuille1 ou revoir le nom de la feuille
Range("A1").Select
Sheets("Feuil1").Select
'en B1 crée la formule de recherche
Range("B1").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]<>"""",VLOOKUP(RC[-1],Base,2,FALSE),"""")"
'copie la formule de recherche sur la hauteur de la liste de critères
Range("B1").Copy
'Colle la formule sur la hauteur
Range("B1:B101").Select
ActiveSheet.Paste
Selection.Copy
'Copie les valeur de la recherche
Selection.PasteSpecial Paste:=xlPasteValues
Range("A1").Select
Application.CutCopyMode = False
End Sub
A+
Récupéres l'exemple avec ce lien
https://www.cjoint.com/?dpr1P1b5Me
Ne connaissant pas tes connaissance en VBA j'ai opté pour ce genre de code, facile à interpréter
Sub test()
'sélectionne la feuille2 ou le nom de la feuille de données
Sheets("Feuil2").Select
'sélectionne la plage de données dans laquelle doivent se faire les recherches
Range("C1:D46").Select
'nomme la plage
ActiveWorkbook.Names.Add Name:="Base", RefersToR1C1:="=Feuil2!R1C3:R14C4"
'reviens feuille1 ou revoir le nom de la feuille
Range("A1").Select
Sheets("Feuil1").Select
'en B1 crée la formule de recherche
Range("B1").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]<>"""",VLOOKUP(RC[-1],Base,2,FALSE),"""")"
'copie la formule de recherche sur la hauteur de la liste de critères
Range("B1").Copy
'Colle la formule sur la hauteur
Range("B1:B101").Select
ActiveSheet.Paste
Selection.Copy
'Copie les valeur de la recherche
Selection.PasteSpecial Paste:=xlPasteValues
Range("A1").Select
Application.CutCopyMode = False
End Sub
A+
Mike-31
Messages postés
18384
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 avril 2025
5 127
13 mars 2009 à 15:15
13 mars 2009 à 15:15
Salut,
Je pense que tu peux récupérer tes données avec la rechecheV, qui après faire un copier collage spécial sur la colonne elle même pour supprimer les formules et fixer les valeurs soit manuellement ou avec un code macro.
Mets un bout de ton fichier sur le forum avec le lien ci-dessous que l'on te propose un exemple
https://www.cjoint.com/
A+
Je pense que tu peux récupérer tes données avec la rechecheV, qui après faire un copier collage spécial sur la colonne elle même pour supprimer les formules et fixer les valeurs soit manuellement ou avec un code macro.
Mets un bout de ton fichier sur le forum avec le lien ci-dessous que l'on te propose un exemple
https://www.cjoint.com/
A+
Merci pour ta réponse si rapide !
Par contre je ne peux pas te coller un bout de mon fichier (confidentiel). C'est vraiment la manipulation qui m'interesse, une solution avec des noms généraux serait très utile, pas besoin d'adapter en fonction du nom de mes colonnes.
Renseignements pris sur la fonction recherchev, il semblerait qu'elle soit peu fiable si les valeurs ne sont pas classés par ordre croissant (ce qui est hélas le cas dans ma feuille N°2).
Pourrais-tu me donner un morceau de code (j'ai bcp de mal avec le VBA) que je puisse adapter?
Merci
Par contre je ne peux pas te coller un bout de mon fichier (confidentiel). C'est vraiment la manipulation qui m'interesse, une solution avec des noms généraux serait très utile, pas besoin d'adapter en fonction du nom de mes colonnes.
Renseignements pris sur la fonction recherchev, il semblerait qu'elle soit peu fiable si les valeurs ne sont pas classés par ordre croissant (ce qui est hélas le cas dans ma feuille N°2).
Pourrais-tu me donner un morceau de code (j'ai bcp de mal avec le VBA) que je puisse adapter?
Merci
Mike-31
Messages postés
18384
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 avril 2025
5 127
13 mars 2009 à 16:14
13 mars 2009 à 16:14
Salut,
tes renseignements sont faux concernant la fiabilité de la recherchV, tout dépend la façon d'écrire la formule, il faut terminer la formule par ;faux) ou ;0)
Lorsqu’on demande un exemple de fichier, c’est un fichier bidon sans données confidentielles, c’est simplement pour apprécier la structure de ton fichier et ne pas nous obliger à créer un exemple, Nous sommes tous bénévoles et c’est pris sur notre temps, il est normal que ce soit le demandeur qui prenne sur sont temps.
En attendant récupères l’exemple que j’ai créé à ta place avec ce lien, bien sur il est possible de compléter avec un code VBA
https://www.cjoint.com/?dpqpB1yy2r
A+
tes renseignements sont faux concernant la fiabilité de la recherchV, tout dépend la façon d'écrire la formule, il faut terminer la formule par ;faux) ou ;0)
Lorsqu’on demande un exemple de fichier, c’est un fichier bidon sans données confidentielles, c’est simplement pour apprécier la structure de ton fichier et ne pas nous obliger à créer un exemple, Nous sommes tous bénévoles et c’est pris sur notre temps, il est normal que ce soit le demandeur qui prenne sur sont temps.
En attendant récupères l’exemple que j’ai créé à ta place avec ce lien, bien sur il est possible de compléter avec un code VBA
https://www.cjoint.com/?dpqpB1yy2r
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci bien,
C'est gentil à toi d'avoir pris de ton temps. Ca n'est pas exactement ce que je cherchai :
je voulais declancher le "trie" par clic sur un CommandButton vu que la 2ème feuille est ammenée à être supprimée par la suite, je souhaitais que les valeurs soient copiés et non inscrite par référence à la feuille2.
Encore merci de t'être interessé à mon problème
C'est gentil à toi d'avoir pris de ton temps. Ca n'est pas exactement ce que je cherchai :
je voulais declancher le "trie" par clic sur un CommandButton vu que la 2ème feuille est ammenée à être supprimée par la suite, je souhaitais que les valeurs soient copiés et non inscrite par référence à la feuille2.
Encore merci de t'être interessé à mon problème
Mike-31
Messages postés
18384
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
9 avril 2025
5 127
13 mars 2009 à 16:51
13 mars 2009 à 16:51
Pas de problème,
dès que j'ai un instant dans la soirée si personne ne t'est venu en aide je te préparerai quelque chose, je dois m'absenter
A+
dès que j'ai un instant dans la soirée si personne ne t'est venu en aide je te préparerai quelque chose, je dois m'absenter
A+
16 mars 2009 à 00:47
Ton code marche du feu de dieu vraiment merci beaucoup!
16 mars 2009 à 08:34
Si ça peut t'aider, cest bien. N'oublis pas de mettre ton statut en résolu ou cliques sue le triangle jaune Signaler ce message aux modérateurs et demandes que ta discussion soit mise en statut résolu
Merci A+