Ouverture d'un fichier Word selon valeur d'une cellule

diroz

XLDnaute Nouveau
Bonjour à tous,

Je suis nouvelle sur ce forum, mais aussi dans l'utilisation de fonctions "avancées" d'Excel. Je sais insérer des listes déroulantes, utiliser certaines fonctions comme Recherchev... Mais cela ne va pas beaucoup plus loin ahah .

Je vous remercie donc par avance de me lire, et du temps que vous passerez à m'aider. J'anticipe, pour ceux qui me diront que je ne suis pas allée voir ailleurs le sujet, qui a certainement déjà été traité... Si je le renouvèle c'est que je n'ai pas compris la réponse (il me faut je crois plus de détails ;-))

Alors voilà: j'ai créé un fichier Excel qui me permettra d'auditer un prestataire.
Selon les valeurs qui seront entrées dans le fichier excel, une cellule ou plusieurs cellules se rempliront automatiquement et feront une synthèse simple: soit le prestataire est conforme (la cellule = conforme) soit il ne l'est pas (cellule= non conforme)
Bien sur, très simplement, je pourrais coller dans une autre cellule un lien hypertexte renvoyant au document word à compléter par le prestataire s'il n'est pas en conformité...
Sauf que je préfèrerais "automatiser" les choses, à savoir: lorsque la cellule passe en "non conforme" un fichier Word s'ouvre automatiquement (en l’occurrence il s'agira d'une fiche d'action corrective préremplie).

J'ai pour l'instant suivi les étapes suivantes:
Alt F11, insertion d'un module:
Sub ouvrir()
Set wordapp = CreateObject("word.Application")
wordapp.Visible = True
wordapp.Documents.Open "liendufichierque je souhaite ouvrir"
End Sub

Ensuite, les choses se compliquent... J'ai collé le code suivant dans la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("cellule")) Is Nothing Then
If Range("cellule") = "NON CONFORME" Then
Call ouvrir
Else
End If
End If
End Sub

Mais voilà, j'ai beau changer les données de mon fichier excel pour faire en sorte que ma cellule cible écrive "non conforme"... et rien ne se passe... (par contre quand j'execute la macro "ouvrir" le doc s'ouvre, ce qui est déjà une réussite pour moi hihi)

J'imagine bien que ce n'est pas si simple, alors j'espère que vous saurez m'aider, en m'expliquant si possible avec des termes simples :D

Merci infiniment à tous,

Très bonne après-midi, Bien à vous,

Alexandra
 

Pièces jointes

  • Test1.xlsm
    16.5 KB · Affichages: 7

diroz

XLDnaute Nouveau
Au temps pour moi et désolée, j'ai oublié d'aligner ce que j'ai copié collé dans mon message et les codes dans mon fichier Excel.
Donc:
Sub ouvrir()
Set wordapp = CreateObject("word.Application")
wordapp.Visible = True
wordapp.Documents.Open "liendufichierque je souhaite ouvrir"
End Sub

Ensuite, les choses se compliquent... J'ai collé le code suivant dans la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C2")) Is Nothing Then
If Range("C2") = "Non-conformité(s)" Then
Call ouvrir
Else
End If
End If
End Sub
 

job75

XLDnaute Barbatruc
Utilisez cette macro :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C3:C6")) Is Nothing _
    And Range("C2") = "Non-conformité(s)" Then Call ouvrir
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 162
Messages
2 085 858
Membres
103 005
dernier inscrit
gilles.hery