Trier un tableau en vba
Fermé
trustpol
Messages postés
36
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
25 avril 2008
-
2 avril 2008 à 10:10
Utilisateur anonyme - 2 avril 2008 à 20:03
Utilisateur anonyme - 2 avril 2008 à 20:03
A voir également:
- Trier un tableau en vba
- Trier un tableau excel - Guide
- Tableau word - Guide
- Code ascii tableau - Guide
- Tableau croisé dynamique - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
3 réponses
Utilisateur anonyme
2 avril 2008 à 13:54
2 avril 2008 à 13:54
Bonjour,
Exemple type :
Lupin
Exemple type :
Option Explicit Sub Traitement() Dim Plage As Range, Limite As Long Dim Feuille As Worksheet, Reponse As Boolean Set Feuille = ActiveSheet Limite = Range("A65536").End(xlUp).Row Set Plage = Range("A1:A" & Limite) Reponse = Epuration(Plage) TrierFeuille Feuille End Sub ' Function Epuration(ByVal Cible As Range) As Boolean Dim Cellule As Range On Error GoTo Err_Epuration Epuration = False Sheets(1).Select For Each Cellule In Cible If (Len(Trim(Cellule.Value)) > 3) Then Cellule.EntireRow.Delete End If Next Cellule Epuration = True Exit_Epuration: Exit Function Err_Epuration: Epuration = False GoTo Exit_Epuration End Function ' Function TrierFeuille(ByVal Lafeuille As Worksheet) Lafeuille.Select Cells.Select Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal Range("A1").Select End Function '
Lupin
Utilisateur anonyme
2 avril 2008 à 17:04
2 avril 2008 à 17:04
re:
// Menu Excel / Outils / Macro / Visual Basic Éditeur
Sous VBE :
Fenetre de gauche, section Project - VBA Project
Repérer votre classeur
Clic droit
Choisir // Insertion / Module
Faire un copier/coller dans la fenêtre de droite
Retourner dans la fenêtre Excel
// Menu Excel / Outils / Macro / Macro ...
Sélectionner la macro [ Traitement ]
Clic sur bouton [ Exécuter ]
Amicalement
Lupin
// Menu Excel / Outils / Macro / Visual Basic Éditeur
Sous VBE :
Fenetre de gauche, section Project - VBA Project
Repérer votre classeur
Clic droit
Choisir // Insertion / Module
Faire un copier/coller dans la fenêtre de droite
Retourner dans la fenêtre Excel
// Menu Excel / Outils / Macro / Macro ...
Sélectionner la macro [ Traitement ]
Clic sur bouton [ Exécuter ]
Amicalement
Lupin
trustpol
Messages postés
36
Date d'inscription
mardi 1 avril 2008
Statut
Membre
Dernière intervention
25 avril 2008
2 avril 2008 à 17:35
2 avril 2008 à 17:35
C'est bon sa marche
J'avoue que j'ai pas saisi tout le code masi le principal c'est que sa marche
Merci beaucoup
J'avoue que j'ai pas saisi tout le code masi le principal c'est que sa marche
Merci beaucoup
Utilisateur anonyme
2 avril 2008 à 20:03
2 avril 2008 à 20:03
re:
Étape par étape :
Lupin
Étape par étape :
Sub Traitement() ' Déclare un variable Plage de type Range ( plage de cellule(s) ) ' Déclare une variable de type Long ( plus grand que 32768 ) Dim Plage As Range, Limite As Long ' Déclare une variable Feuille de type Feuille Excel ' Déclare une variable Reponse de type booléan ( vrai ou faux ) Dim Feuille As Worksheet, Reponse As Boolean ' Affecte à la variable Feuille la feuille active Set Feuille = ActiveSheet ' Recherche la dernière cellule non-vide de la collone A Limite = Range("A65536").End(xlUp).Row ' Affecte à la variable Plage les cellule en commençant en A1 jusqu'a A et Limite Set Plage = Range("A1:A" & Limite) ' Reçoit le résultat de la fonction Epuration qui renvoie vrai ou faux dans la variable Reponse ' en fournissant en paramètre la variable Plage Reponse = Epuration(Plage) ' Appel de la fonction TrierFeuille avec comme paramètre la variable Feuille TrierFeuille Feuille End Sub
Function Epuration(ByVal Cible As Range) As Boolean Dim Cellule As Range On Error GoTo Err_Epuration ' Affecte Faux à la fonction Epuration Epuration = False ' Sélectionne la première feuille du classeur Sheets(1).Select ' Pour chaque cellule dans les dcellules défini par la Plage For Each Cellule In Cible ' Si la longueur (Len) de la cellule vérifier et dépouiller des espaces superflu (Trim) ' est plus grande que 3 If (Len(Trim(Cellule.Value)) > 3) Then ' Alors detruit la ligne au complet Cellule.EntireRow.Delete End If Next Cellule ' Pas d'erreur donc renvoie la valeur Vrai Epuration = True Exit_Epuration: Exit Function Err_Epuration: Epuration = False GoTo Exit_Epuration End Function '
Lupin
2 avril 2008 à 16:41
je vous remrcie pour votre réponse. Cependant je n'arrive pas à l'insérer.
Pour tout vous dire je suis novice en macro et donc j'aimerais savoir a quel endroit je dois faire des modifications sur le
code pour l'inserer dans mon classeur.
J'attends votre réponse avec impatience. Merci