Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ouverture fichier word conditionnelle

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 !

incubus20851

XLDnaute Occasionnel
Bonjour à toute et à tous,

Je vient vers vous car j'ai une petite question :

J'aimerais qu'à partir d'Excel a chaque ligne remplie si une cellule genre (D61) est supérieur à 21 qu'un fichier word s'ouvre.

Quelqu'un a une idée de comment il faudrait faire ?

J'ai trouvé le code pour ouvrir un fichier word en appuyant sur un bouton liée à une macro. Mais je ne sais pas lancer une macro en fonction d'un nombre dans une cellule, surtout qu'il faudrait que la règle s'applique sur les lignes suivantes (D62) (D63) (D64) et ainsi de suite.

Merci d'avance pour votre réponse
A bientôt
 
Dernière édition:
Re : Ouverture fichier word conditionnelle

Ok,

Je vais essayer de faire mieux et joindre un fichier en exemple.

Alors j'aimerais que si en cellule "M3" il y a le commentaire "A FAIRE" qu'Excel ouvre le document Word.

Les cellules de la colonne M ont des formules conditionnelles qui est :

Code:
=SI(G3>20;"A FAIRE";"")

Dans l'exemple en cellule "M4" il y a le texte, donc Excel doit ouvrir le fichier word.

En "M3" il ne doit pas ouvrir le fichier word.

Le tableau va se remplir au fur et a mesure des lignes. Donc le fichier word doit s'ouvrir a chaque fois que la cellule en colonne "G" est supérieur à 20.

Si c'est pas clair, j'essayerai d'eclaircir encore d'après vos questions

Merci d'avance
 

Pièces jointes

Re : Ouverture fichier word conditionnelle

Re,
Bonjour kjin,

peut-être (à mettre dans le code de la feuille COM 2009)

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Offset(0, 6).Value = "A FAIRE" And Not Application.Intersect(Target.Offset(0, 6), Range("M1:M65536")) Is Nothing Then
        Call ouvrirDocWordExistant
    End If
End Sub
 
Re : Ouverture fichier word conditionnelle

Merci pour la réponse :

j'ai inséré ce code dans l'onglet "COM 2009" mais rien ne se passe quand je modifie la date pour dépasser 20 jours ou quand j'en fais une nouvelle


J'ai ce code suivant dans "COM 2009"
Code:
Sub ouvrirDocWordExistant()
'necesite d'activer la reference Microsoft Word xx.x Object Library
Dim appWrd As Word.Application
Dim docWord As Word.Document
Set appWrd = CreateObject("Word.Application")
appWrd.Visible = True
Set docWord = appWrd.Documents. _
Open("C:\Documents and Settings\ARU346\Bureau\Lettre Assistante Sociale2.doc", ReadOnly:=False)
End Sub

Je dois incorporer le code où ?

Merci d'avance pour la réponse
 
Dernière édition:
Re : Ouverture fichier word conditionnelle

Bonsoir,
Note: ne devrais tu pas tester qu'il y a bien 2 dates avant de renvoyer une valeur dans la colonne G
Code:
=SI([B]ET(E3<>"";F3<>"")[/B];SI(E3=F3+H3;1;SI(H3="";(F3-E3)+1;(F3-E3)+(H3-F3)+1));"")
A+
kjin
 

Pièces jointes

Re : Ouverture fichier word conditionnelle

Re,

Oups, moi le nombre de jours en colonne G, je croyais qu'on le tapait.. mal regardé, pas vu la formule...

et comme ça, ça donne quoi :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("M" & Target.Row).Value = "A FAIRE" And Range("E" & Target.Row).Value <> "" And _
        Range("F" & Target.Row).Value <> "" Then
        Call ouvrirDocWordExistant
    End If
End Sub
 
Re : Ouverture fichier word conditionnelle

Un grand merci à vous deux pour ces deux solutions qui fonctionnent parfaitement toute les deux !

Merci Kjin pour ta remarque sur
Note: ne devrais tu pas tester qu'il y a bien 2 dates avant de renvoyer une valeur dans la colonne G

Je l'ai insérer dans mon fichier et il est vrai que c'est plus agréable.

Là je vais voir encore pour que des cellules d'excel alimente des champs dans mon formulaire word.

Si j'ai un souci je reviendrai vers vous pour profitez de vos lumières

Merci encore, bonne journée
A bientôt
 
Re : Ouverture fichier word conditionnelle

bonjour incubus20851, tototiti2008, kjin


juste une petite remarque à propos de la macro d'ouverture de fichier word :
si tu modifie la déclaration des variables appWrd et docWord tel que :
Code:
Dim appWrd
Dim docWord
la macro fonctionne sans avoir besoin de cocher la référence Microsoft Word xx.x Object Library.

a+
 
Re : Ouverture fichier word conditionnelle

Re-bonjour,

J'avoue que je bloque un peu sur le code, pour importer des cellules d'Excel dans des Signets de Word une fois que la condition est remplie.

Le code que j'ai c'est pour importer les cellules A1 à A3 dans différents signets (Signet1, Signet2, Signet3)

Par rapport à mon fichier exemple ce que j'aimerais c'est qu'il prenne la cellule "A3" et qu'il la mette dans le signet word "nom", ensuite la cellule "B3" dans le signet "Prénom" et qu'il mette la date "F3" dans le signet "datefin" au format date.

Le soucis c'est qu'il faut qu'Excel prenne les informations sur la ligne qui vient d'être rentrée. C'est à dire que le numéro de ligne sera variable.

Si quelqu'un à une réponse ?

voici le code qui serai à modifier :

Code:
Sub exportDonneesDansSignetsWord()
'nécéssite d'activer la référence Microsoft Word xx.x Object Library
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim i As Byte

Set WordApp = CreateObject("word.application") 'ouvre session word
Set WordDoc = WordApp.Documents.Open("C:\Documents and Settings\ARU346\Bureau\Lettre Assistante Sociale.doc") 'ouvre document Word
WordApp.Visible = False 'word masqué pendant l'operation
For i = 1 To 3
'les signets du document Word sont nommés Signet1 , Signet2 , Signet3
WordDoc.Bookmarks("Signet" & i).Range.Text = Cells(i, 1)
Next i

WordApp.Visible = True 'affiche le document Word
'WordDoc.PrintOut 'imprimer

'WordDoc.Close True 'ferme le document word en sauvegardant les données
'WordApp.Quit 'ferme la session Word
End Sub

Note : Merci MrRomain pour ton Astuce ! 🙂
 

Pièces jointes

Re : Ouverture fichier word conditionnelle

Personne ?

J'ai conscience que ce n'est pas facile et plutôt long. Mais je débute en VB donc si quelqu'un a des pistes.

Autre question, maintenant j'ai le document word qui s'ouvre c'est super, mais j'aimerais quand le fichier s'ouvre que dans mon tableau excel dans la cellule où y'avait le texte "A FAIRE" Excel inscrit "FAIT LE (Avec la date du jour)"

Comment je peux insérer ça dans la macro ?
J'ai essayer avec des
Code:
If wordapp.visible = True Then Range("N" & Target.Row).Value = "FAIT"

Mais ça ne marche pas !

Merci d'avance pour vos réponses
A bientôt
 
- 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

Discussions similaires

J
Réponses
1
Affichages
2 K
A
Réponses
30
Affichages
6 K
S
Réponses
13
Affichages
2 K
sanae_J
S
C
Réponses
1
Affichages
4 K
Conrad13
C
G
Réponses
6
Affichages
1 K
GiuMon
G
D
Réponses
4
Affichages
1 K
diroz
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…