PB pour écrire dans une cellule via VBA

  • Initiateur de la discussion Initiateur de la discussion pedrofabien1986
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pedrofabien1986

Guest
Bonjour,

Je suis nouveau dans ce forum et après recherche, je n'arrive pas à écrire dans une cellule via vba.

Ce que je veux faire et de vérifier si le fichier demander est existant.

voici le code dans ma cellule C9:

=TestFichier(D9)

Donc la je fais appel à la vba et je lui demande d'écrire dans la D9

et voici mon code dans mon module :

Function TestFichier$(ByVal CelRef As Range)

Dim Fichier$
If Dir("N:\Projets en cours\Divers\Divers-Checkliste.xlsm") = "" Then
Range(CelRef ).Select = ("Fichier existant")

Else
Range(CelRef ).Select = ("Pas de Fichier")
End If
End Function

Merci D'avance
 
Re : PB pour écrire dans une cellule via VBA

Bonjour pedrofabien1986,
Essai ceci dans un module standart:
VB:
Function TestFichier(ByVal CelRef As Range) As String
Application.Volatile
Dim fichier As String
fichier = CelRef.Value
If Dir(fichier) = "" Then
    TestFichier = "Pas de Fichier"
Else
    TestFichier = "Fichier existant"
End If
End Function
Cordialement

EDIt :
Et bienvenu sur le forum... ...je n'avais pas fais attention.
 

Pièces jointes

Re : PB pour écrire dans une cellule via VBA

Bonjour pedrofabien1986, bienvenue sur XLD, salut Efgé 🙂

Si dans la cellule il n'y a que le nom du fichier Excel, sans l'extension :

Code:
Function TestFichier$(CelRef As Range)
Dim chemin$
chemin = "N:\Projets en cours\Divers\" 'ThisWorkbook.Path & "\" (plus facile à tester)
If Dir(chemin & CelRef & ".xls*") <> "" Then
TestFichier = "Fichier existant"
Else
TestFichier = "Pas de Fichier"
End If
End Function
Permet de tester les fichiers .xls .xlsx .xlsm

A+
 
Dernière édition:
Re : PB pour écrire dans une cellule via VBA

Re pedrofabien1986, Bonjour job75 🙂,
De mon coté, on peux réduire :
VB:
Function TestFichier(CelRef As Range) As String
On Error Resume Next 'si CelRef =""
TestFichier = IIf(Dir(CelRef.Value) = "", "Pas de Fichier", "Fichier existant")
End Function
Cordialement
 
Dernière édition:
Re : PB pour écrire dans une cellule via VBA

Bonjour

Une variation de ce qui a été réduit pour tromper l'ennui d'un aprés-midi pluvieux.
Code:
Function TestFichier(CelRef As Range) As String
On Error Resume Next 'si CelRef =""
TestFichier = "Fichier " & IIf(Dir(CelRef.Text) = "", "in", "") & "existant."
End Function
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
411
Retour