13 liens privés
Ainsi en va-t-il pour New York et la Nouvelle Orleans :
New York fait référence au duc de York, et remplace l'ancien nom de la ville… New Amsterdam !
Nouvelle Orleans fait référence au duc d'Orléans.
Dans ces deux cas, la ville de référence existe toujours, et on peut donc parler de nouvelle Orléans (USA) et d'Orléans (France).
Mais… où sont l'ancienne Zélande, l'ancienne Calédonie, et l'ancienne Guinée ?
La ville de Zeeland se trouve aux Pays-Bas. Elle existe toujours dans un relatif anonymat : avec ses 300 000 habitants, on peut dire que la nouvelle a largement dépassé l'ancienne.
La Calédonie désignait autrefois l'Angleterre. Quand Astérix parle de Calédoniens, il parle bien de nos voisins d'Outre Manche ! Le nom étant tombé en désuétude, il devient maintenant courant de nommer La Nouvelle Calédonie… Calédonie tout court, pour gagner du temps !
Quant à l'ancienne Guinée… il s'agit bien de l'actuelle Guinée, en Afrique. Pour une fois, ce n'est pas un titre ou un lieu de naissance : l'explorateur Yñigo Ortiz de Retez trouvait simplement que les habitants de cette île australe ressemblait aux Guinéens, l'expression est restée.
Dim DebutExecutionMacro As Date
DebutExecutionMacro = Now
MsgBox "L'onglet Synthèse du fichier " + NomFichierCible + " est (re)créé." + vbLf + vbLf + _
"Temps d'exécution : " & Format(Now - DebutExecutionMacro, "hh:mm:ss")
Pour un répertoire /
Dim RepertoireExiste As Boolean
If Len(Dir(Repertoire, vbDirectory)) > 0 Then
RepertoireExiste = True
Else
RepertoireExiste = False
MsgBox "Le répertoire n'existe pas pour ce RUN." & vbLf & Repertoire, vbExclamation + vbOKOnly
Exit Function
End If
Ne pas oublier l'attribut vbDirectory
. C'est grâce à lui que la fonction Dir()
sait qu'on est sur un répertoire.
Pour un fichier :
Dim FichierExiste As Boolean
If Len(Dir(Repertoire & ModeleNomFichier)) > 0 Then
FichierExiste = True
End If
Alternatives, en utilisant la référence Microsoft Scripting Runtime
sous Excel
Dim FS As Scripting.FileSystemObject
Set FS = New Scripting.FileSystemObject
If Not FS.FolderExists(Repertoire) Then
MsgBox "Le répertoire n'existe pas" + vbCrLf + Repertoire, vbCritical, "Répertoire inexistant"
Exit Function
End If
Pour un fichier, utiliser FS.FileExists(Repertoire + "\" + Fichier)
.
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é.
Workbooks.OpenText Repertoire & "\" & FichierCSV, xlWindows, 1, xlDelimited, , , , True, , , , , , , , , , True
Le 2nd True
signifie que le séparateur utilisé est un point-virgule.
Alternative :
Workbooks.Open Filename:=CheminFichierSource & NomFichierSource
Range(Cells(1, 1), Cells.SpecialCells(xlCellTypeLastCell)).Copy
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, semicolon:=True
Windows est perclus de logiciels espions. Comment bien régler les paramètres de télémétrie et de confidentialité avant de le déployer.
Une vidéo sur le paracétamol et comment éviter son surdosage.
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
Ah très bien, à retenir quand vous voyez que l'encodage n'est pas bon (je copie-colle):
« - Si dans votre page web vos accents ont la forme de "�", c'est que le texte est encodé en ISO et que le navigateur l'affiche en UTF-8.
- Si dans votre page web vos accents ont la forme de "é", "î" ou "Ã", c'est que le texte est encodé en UTF-8 et que votre navigateur l'affiche en ISO.
- Si dans votre page web vos accents ont la forme de "", c'est que généralement le texte est encodé en WINDOWS-1252 et que le navigateur l'affiche en UTF-8. »
Selon la loi, l'usage du portable est interdit à l'école et au collège. Il est autorisé au lycée, mais son usage peut être restreint par le règlement intérieur.
La locution verbale « être Gros-Jean comme devant » est quelque peu désuète mais vaut le détour : elle signifie éprouver une désillusion ou encore, pour être plus précis, selon la définition du CNRTL : « avoir conçu de grandes espérances et se retrouver dans la même situation qu’auparavant. »