13 liens privés
Supprime tous les caractères de contrôle du texte. Utilisez EPURAGE pour du texte importé d’autres applications contenant des caractères qui ne pourront peut-être pas être imprimés sous votre système d’exploitation. Par exemple, la fonction EPURAGE vous permet de supprimer certains codes de bas niveau généralement placés par le système au début et à la fin des fichiers de données, et qui ne peuvent pas être imprimés.
La fonction EPURAGE a été conçue pour éliminer du texte les 32 premiers caractères non imprimables du code ASCII à 7 bits (valeurs 0 à 31). Dans le jeu de caractères Unicode, il existe d’autres caractères non imprimables (valeurs 127, 129, 141, 143, 144 et 157). La fonction EPURAGE ne permet pas de les éliminer.
Pratique pour enlever notamment les caractères de retour à la ligne dans une cellule Excel
Microsoft decided to finally put a stop to the abuse of macros in Office files, which were widely used to deploy malware to target endpoints, prompting Microsoft to block all macros in Office files downloaded from the internet.
Une lib Go de gestion de fichiers Excel.
Besoin :
Je veux ajouter un bouton à ma feuille de calcul Excel qui devrait appeler une macro pouvant gérer un agument.
Démarche :
Dans la fenêtre "Attribuer une macro" (cliquez avec le bouton droit sur l'objet et sélectionnez "Attribuer une macro"):
- Mettez le nom de la macro entre guillemets simples, par exemple pour passer 2 constantes: 'Button1_Click("A string!", 7)'
- Sélectionnez "Ce classeur" pour le champ "Macros dans"
- Si vous souhaitez passer une variable (comme la valeur d'une cellule), placez le paramètre dans Evaluate ()
Par exemple, pour transmettre la valeur de Sheet1!$A$1 à une fonction de bouton, vous auriez le texte suivant dans le champ 'Nom de la macro:':
Button1_Click(Evaluate("Sheet1!$A$1"))
Worksheets("Synthèse").Range("A1", Cells.SpecialCells(xlCellTypeLastCell)).EntireColumn.AutoFit
Ca permet d'accélérer le temps de traitement des macros, sans faire clignoter l'écran, ni avoir besoin d'interagir avec l'utilisateur pour confirmer manuellement les actions du code VBA (ex. : demande de confirmation pour la fermeture d'un classeur sans enregistrement ; demande de confirmation pour écraser un fichier à l'enregistrement ; demande confirmation pour supprimer des données ; etc.).
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Ne pas oublier de repasser les valeur à True
en fin de traitement, sinon l'affichage restera figé.
En théorie, la combinaison de touches ctrl+fin positionne le focus sur la cellule la plus en bas à droite d'une feuille de calcul.
En pratique, cette combinaison de touches sélectionne la cellule sans tenir compte des suppressions de contenu. Il en résulte que si :
- ma dernière cellule est en C4
- je saisis quelque chose en E7
- la combinaison ctrl+fin m'envoie en E7
- je supprime la cellule E7
- la combinaison ctrl+fin m'envoie en E7
- je me positionne sur A1 puis enregistre le classeur
- la combinaison ctrl+fin m'envoie maintenant en C4
Le code VBA correspondant à la combinaison de touches ctrl+fin est Cells.SpecialCells(xlCellTypeLastCell)
.
Pour trouver la dernière ligne aillant eu un saisie, le code VBA correspondant est :
Cells.SpecialCells(xlCellTypeLastCell).Row
Le code suivant permet de trouver la dernière ligne non vide pour une colonne donnée (ici la colonne F).
Cells(Rows.Count, "F").End(xlUp).Row
- Créez des listes déroulantes
- Précisez les contraintes
- Limitez le contenu des cellules
- Affichez un message d’erreur
Lancer une macro excel via une tâche planifiée ... Utiliser un script vbs plutôt qu'un script bat.
Set AppExcel = CreateObject("Excel.Application")
With AppExcel
.Visible = True
Set Wb = .Workbooks.open("D:\Outils\Controle d'habilitations\Controle d'habilitations.xlsm")
.Run "controleLiens"
.Quit
end With
Sous Office 365, dans Excel il n'est plus possible de faire un simple copier-coller uniquement des cellules visibles après avoir appliqué un filtre ou masqué des colonnes/lignes ...
Comment copier des cellules filtrées ?
Solution :
- Sélectionnez le tableau à copier (en conservant les colonnes masquées)
- Appuyez sur la touche F5 (laquelle ouvre la boîte de dialogue Atteindre)
- Cliquez sur le bouton Cellules puis choisissez l'option Cellules visibles uniquement.
- Cliquer sur OK.
- Ctrl+C
- Ctrl+V
Quelques références à ajouter dans l'éditeur VBA pour Excel en fonction des besoins :
- Microsoft Scripting Runtime --> gestion du système de fichier et des dictionnaires en VB (table de clefs/valeurs)
- Microsoft XML --> gestion des fichier XML
- Microsoft VBScript Regular Expressions --> Expressions régulières
- Microsoft ActiveX Data Objects Library --> Manipulation de fichiers encodés en utf8
- Selenium Type Library --> pilotage de navigateur web (nécessite d'installer selenium et les bons pilotes pour les navigateurs visés)