Demande automatique de création d'un lien Hypertexte excel 2010
Boubi76
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
via55 Messages postés 14512 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'explique, je suis en train de créer un Tableau de Bord excel pour mon Entreprise qui doit être utilisé par tous mes collaborateurs.
Le but étant de demander à l'utilisateur du Tableur d'intégrer un lien hypertexte lorsque celui-ci possède le fichier
Exemple: Nous démarrons un projet mais le contrat n'est pas signé
Dans la cellule A1 se trouve la mention : :"Date signature contrat"
La cellule A2 nous permet de renseigner la date à laquelle nous avons reçu le contrat signé
J'aimerais qu'à partir du moment ou l'on rentre la date, excel demande d'ajouter un lien hypertexte soit dans la cellule A1 soit dans la cellule A3 afin d'accéder au contrat signé au format PDF
J'espère avoir été compréhensible,
Merci d'avance.
J'explique, je suis en train de créer un Tableau de Bord excel pour mon Entreprise qui doit être utilisé par tous mes collaborateurs.
Le but étant de demander à l'utilisateur du Tableur d'intégrer un lien hypertexte lorsque celui-ci possède le fichier
Exemple: Nous démarrons un projet mais le contrat n'est pas signé
Dans la cellule A1 se trouve la mention : :"Date signature contrat"
La cellule A2 nous permet de renseigner la date à laquelle nous avons reçu le contrat signé
J'aimerais qu'à partir du moment ou l'on rentre la date, excel demande d'ajouter un lien hypertexte soit dans la cellule A1 soit dans la cellule A3 afin d'accéder au contrat signé au format PDF
J'espère avoir été compréhensible,
Merci d'avance.
A voir également:
- Modification automatique lien hypertexte excel
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Liste déroulante excel - Guide
- Suivi de modification word - Guide
- Réponse automatique thunderbird - Guide
11 réponses
Bonjour Bouhi76
Un message qui s'affiche avec une macro à mettre dans le worksheet de la feuille concernée (ALT+F11 pour ouvrir l'éditeur, sélectionner par double-clic la feuille dans l'arborescence, copier-coller la macro dans la page blanche)
Cdlmnt
Via
Un message qui s'affiche avec une macro à mettre dans le worksheet de la feuille concernée (ALT+F11 pour ouvrir l'éditeur, sélectionner par double-clic la feuille dans l'arborescence, copier-coller la macro dans la page blanche)
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A2")) Is Nothing Then If Not IsDate(Range("A2")) Then Exit Sub MsgBox ("Veuillez mettre dans la cellule A3 un lien hypertexte vers le PDF du contrat" & Chr(10) & " (Selectionner A3 et faire Ctrl +K)") End If End Sub
Cdlmnt
Via
Personne pour mon message d'erreur ? :(
Boubi76 - 24 avril 2015 à 08:39
J'ai essayé ça m'indique:
"Erreur de compilation:
Attendu: séparateur de liste ou )"
Il me surligne le then à la fin de la première ligne , j'ai essayé d'ajouter des parenthèse ça ne fonctionne pas
Boubi76 - 24 avril 2015 à 08:39
J'ai essayé ça m'indique:
"Erreur de compilation:
Attendu: séparateur de liste ou )"
Il me surligne le then à la fin de la première ligne , j'ai essayé d'ajouter des parenthèse ça ne fonctionne pas
Je suppose que si je veux faire la même chose avec des nombre à la place de date je met If Not IsNumber ?
Je vais être insistant mais là ça se corse j'ai 10 colonnes différentes avec chacune 40 colonnes dans lesquels je veux appliquer la même chose ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Ok et si je veux l'appliquer a 10 colonnes de 40 cellules ? Car quand je saute une ligne là tout foire !
Merci d'avance normalement c'est la dernière question
Ok et si je veux l'appliquer a 10 colonnes de 40 cellules ? Car quand je saute une ligne là tout foire !
Merci d'avance normalement c'est la dernière question
Re
Les dix colonnes sont elles contigües ?
Les cellules à traiter sont elles sur les mêmes lignes dans chaque colonne ?
Envoie moi un exemple du fichier avec les 10 colonnes et en colorant toutes les cellules à traiter, ce sera plus clair
Cdlmnt
Les dix colonnes sont elles contigües ?
Les cellules à traiter sont elles sur les mêmes lignes dans chaque colonne ?
Envoie moi un exemple du fichier avec les 10 colonnes et en colorant toutes les cellules à traiter, ce sera plus clair
Cdlmnt
Bonjour Boubi
Autant que j'arrive à voir (je n'arrive pas à zoomer sur ton image), tu as 3 colonnes qui déclenchent la demande de lien dans des colonnes différentes
Dans ce cas on peut gérer par colonne d'autant que le message à afficher est sans doute différent :
Cdlmnt
Via
Autant que j'arrive à voir (je n'arrive pas à zoomer sur ton image), tu as 3 colonnes qui déclenchent la demande de lien dans des colonnes différentes
Dans ce cas on peut gérer par colonne d'autant que le message à afficher est sans doute différent :
Private Sub Worksheet_Change(ByVal Target As Range) ' si hors lignes ou rien dans la cellule sortie sans rien faire If Target.Row < 9 Or Target.Row > 40 Or Target.Value = "" Then Exit Sub ' si colonne D If Target.Column = 4 Then 'selection de la cellule sur mm ligne en colonne K et message (à COMPLETER) Cells(Target.Row, Target.Column + 7).Select MsgBox ("Veuillez mettre dans cette cellule un lien hypertexte vers le ..........." & Chr(10) & "(Ctrl +K)") Exit Sub End If ' si colonne P If Target.Column = 17 Then ' si n'est pas une date, efface la cellule, message erreur et sortie If Not IsDate(Target) Then Target.Value = "": Cells(Target.Row, Target.Column).Select: MsgBox ("Entrez une date SVP"): Exit Sub ' selection de la cellule sur la mm ligne et colonne suivante et message (à COMPLETER) Cells(Target.Row, Target.Column + 1).Select MsgBox ("Veuillez mettre dans cette cellule un lien hypertexte vers le ......." & Chr(10) & "(Ctrl +K)") Exit Sub End If ' si colonne X If Target.Column = 24 Then ' si n'est pas une date, efface la cellule, message erreur et sortie If Not IsDate(Target) Then Target.Value = "": Cells(Target.Row, Target.Column).Select: MsgBox ("Entrez une date SVP"): Exit Sub ' selection de la cellule sur la mm ligne et colonne suivante et message (à COMPLETER) Cells(Target.Row, Target.Column + 1).Select MsgBox ("Veuillez mettre dans cette cellule un lien hypertexte vers le ......." & Chr(10) & "(Ctrl +K)") Exit Sub End If End Sub
Cdlmnt
Via
Re,
Pour vérifier si la valeur entrée dans la cellule cible est ;
une date : : If IsDate(Target) then si c'est une date alors
If Not IsDate(Target) then si ce n'est pas une date alors
un nombre : If IsNumeric(Target) then si c'est un nombre alors
If Not IsNumeric(Target) then si ce n'est pas un nombre alors
un texte : If Not IsNumeric(Target) then si ce n'est pas un nombre (donc c'est du texte) alors
Pour ouvrir directement la fenêtre de lien hypertexte par VBA je ne sais pas si c'est possible (on peut créer un lien hypertexte par VBA mais cela ne convient pas pour toi car tu ne connais pas à l'avance le chemin du fichier)
Pour vérifier si la valeur entrée dans la cellule cible est ;
une date : : If IsDate(Target) then si c'est une date alors
If Not IsDate(Target) then si ce n'est pas une date alors
un nombre : If IsNumeric(Target) then si c'est un nombre alors
If Not IsNumeric(Target) then si ce n'est pas un nombre alors
un texte : If Not IsNumeric(Target) then si ce n'est pas un nombre (donc c'est du texte) alors
Pour ouvrir directement la fenêtre de lien hypertexte par VBA je ne sais pas si c'est possible (on peut créer un lien hypertexte par VBA mais cela ne convient pas pour toi car tu ne connais pas à l'avance le chemin du fichier)
Si tu veux l'appliquer à plusieurs cellules il faut modifier la 1ere ligne qui vérifie la cellule dans laquelle une valeur est modifiée :
Par exemple pour déclencher lors de l'entrée d'une date dans la cellule A2 ou la cellule A5 ou la cellule A8
If Not Intersect(Target, Range("A2", "A5","A8")) Is Nothing Then
Il faut aussi modifier la ligne suivante ainsi (qui vérifie que c'est bien une date qui a été entrée, ce qui évité l'affichage du message si on efface une date pour la corriger par exemple)
If Not IsDate(Target) Then Exit Sub
Cdlmnt
Via
"Erreur de compilation:
Attendu: séparateur de liste ou )"
Il me surligne le then à la fin de la première ligne , j'ai essayé d'ajouter des parenthèse ça ne fonctionne pas
Cdlmnt
Via
Merci via55