A voir également:
- Trier un tableau en vba
- Trier un tableau excel - Guide
- Tableau word - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
- Tableau croisé dynamique - Guide
3 réponses
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
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
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
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