Private Sub CommandButton1_Click()
Dim Repertoire As FileDialog
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
Repertoire.Show
If Repertoire.SelectedItems.Count > 0 Then
MsgBox Repertoire.SelectedItems(1)
Else
MsgBox "Aucun Répertoire Sélectionné"
End If
End Sub
mardi 27 août 2013
Créer un bouton "Parcourir" pour sélectionner un Répertoire (Excel, Word, Access)
1) Créer un bouton sur un Userform, puis gérer l'événement Click côté code en intégrant le code ci-dessous
lundi 5 août 2013
Trouver la lettre d'une colonne à partir de son numéro (Excel)
Le plus simple est de créer une fonction qui renverra à la demande la lettre :
1) Placer le code suivant dans un module :
2) Puis faire appel à cette fonction dans une procédure quelconque :
1) Placer le code suivant dans un module :
'Fonction qui renvoie la lettre à partir du numéro d'une colonne
Public Function lettre_colonne(colonne As Integer)
lettre_colonne = Split(Cells(1, colonne).Address, "$")(1)
End Function
2) Puis faire appel à cette fonction dans une procédure quelconque :
Recup = lettre_colonne(5) 'renvoie la lettre E
Comment vérifier si un fichier existe ou non (Excel, Word, Access)
Le plus simple est de créer une fonction qui renverra Vrai ou Faux en fonction du résultat
1) Placer le code suivant dans un module :
2) Puis faire appel à cette fonction dans une procédure quelconque :
1) Placer le code suivant dans un module :
'Fonction qui vérifie si un fichier existe
Public Function FichierExiste(Chemin As String) As Boolean
If Dir(Chemin) = "" Then
FichierExiste = False
Else
FichierExiste = True
End If
End Function
2) Puis faire appel à cette fonction dans une procédure quelconque :
If FichierExiste("C:\Dossier\toto.xlsx") = True then
'procédure si le fichier existe
Else
'procédure si le fichier n'existe pas
End If
Trouver la dernière cellule avec un contenu dans une feuille Excel
Pour ajouter une ligne (ou une colonne) à une liste gérée à partir de Vba, il est souvent nécessaire de trouver la référence de la dernière cellule pour ensuite insérer la nouvelle donnée.
Pour se faire, il est pratique d'utiliser la fonction Vba "End" permettant d'obtenir rapidement cette information.
Important : cette fonction ne doit s’utiliser que dans des colonnes ou lignes ininterrompues.
A noter, qu'il est possible de rechercher cette info dans chaque direction :
Exemples :
Pour se faire, il est pratique d'utiliser la fonction Vba "End" permettant d'obtenir rapidement cette information.
Important : cette fonction ne doit s’utiliser que dans des colonnes ou lignes ininterrompues.
A noter, qu'il est possible de rechercher cette info dans chaque direction :
- vers la droite : xlRight
- vers la gauche : xlLeft
- vers le bas : xlDown
- vers le haut : xlUp
Exemples :
Recup = Range("A50000").End(xlUp).Address 'obtient la référence de la cellule juste après la dernière cellule contenant une donnée en partant du bas dans la colonne A
Recup = Range("A2").End(xlDown).Address 'obtient la référence la dernière cellule contenant une donnée en partant du haut dans la colonne A
Recup = Range("A2").End(xlDown).Row 'obtient la dernière ligne contenant une donnée en partant du haut dans la colonne A
Recup = Range("A2").End(xlRight).Column 'obtient le numéro de la dernière colonne contenant une donnée vers la droite dans la ligne 2
Pour trouver la lettre qui correspond à cette colonne voir cet article : Trouver la lettre d'une colonne à partir de son numéro
Gérer le nom d'une feuille de calcul Excel côté VBA
Cette méthode permet de s'affranchir du nom de l'onglet côté Excel qui peut ainsi être modifié à loisir par l’utilisateur final.
1) Renommer dans le panneau des propriétés la feuille de calcul, par exemple : FInfos
2) Placer le code suivant dans un module :
3) Puis faire appel à cette fonction dans une procédure quelconque :
1) Renommer dans le panneau des propriétés la feuille de calcul, par exemple : FInfos
2) Placer le code suivant dans un module :
Public Function NomFeuille(Classeur As Workbook, NomVba As String) As String
NomFeuille = Classeur.VBProject.VBComponents(NomVba).Properties("Name").Value
End Function
3) Puis faire appel à cette fonction dans une procédure quelconque :
Dim wb as Workbook
Dim ws as Worksheet
Dim NomReel as String
Set wb = ThisWorkbook
NomReel = NomFeuille(wb, "FInfos") 'Le 2e paramètre correspond au nom donné à l'étape 1
Set ws = wb.Sheets(NomReel)
Inscription à :
Articles (Atom)