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

LIEN HYPERTEXTE et insertion FORMULAIRE

  • Initiateur de la discussion Initiateur de la discussion Yvetot
  • 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 !

Y

Yvetot

Guest
Bonjour

J'ai créé plusieurs onglets Excel : un est nommé Test et l'autre est nommé Donnees. Dans la colonne C de l'onglet 'Test', je souhaite effectuer un lien sur l'onglet 'donnees' en me positionnant sur la ligne correspondant au même test que l'onglet'Test'. De plus, je souhaite quand je clique sur ce lien, ouvrir le formulaire de saisie 'Pays, Continent, Région' en colonne (comme la fonction 'Donnees, Formulaires' d'Excel.

Merci pour vos réponses
 

Pièces jointes

Re : LIEN HYPERTEXTE et insertion FORMULAIRE

Bonjour Yvetot, bienvenue, salut Pascal,

Si le nom du fichier est Test.xls, la formule pour le lien en C2 devrait être :

=LIEN_HYPERTEXTE("[Test.xls]donnees!A2:G2";"Saisie donnees")

Pas compris pour Formulaire, la formule ne peut ouvrir une boîte de dialogue...

A+
 
Re : LIEN HYPERTEXTE et insertion FORMULAIRE

Re, salut phlaurent55,

Ou alors avec cette macro dans le code de la feuille "donnees" :

Code:
Private Sub Worksheet_Activate()
If Intersect(Selection, [A:G]) Is Nothing Or Selection.Columns.Count <> 7 Then Exit Sub
ActiveSheet.ShowDataForm
End Sub

Fichier joint.

A+
 

Pièces jointes

Re : LIEN HYPERTEXTE et insertion FORMULAIRE

Re,

Bon, si l'on veut tirer la formule vers le bas, écrire :

Code:
=LIEN_HYPERTEXTE("[Test.xls]donnees!A"&LIGNE()&":G"&LIGNE();"Saisie donnees")

Voir ce fichier.

Edit : pour tester le fichier, enregistrez-le d'abord sur le Bureau.

A+
 

Pièces jointes

Dernière édition:
Re : LIEN HYPERTEXTE et insertion FORMULAIRE

Re encore,

J'ai modifié le test dans la macro :

Code:
Private Sub Worksheet_Activate()
On Error Resume Next
If Intersect(Selection, [A:G]).Columns.Count <> 7 Then Exit Sub
ActiveSheet.ShowDataForm
End Sub

A+
 

Pièces jointes

Re : LIEN HYPERTEXTE et insertion FORMULAIRE

Re,

Beaucoup mieux avec un SendKeys :

Code:
Private Sub Worksheet_Activate()
On Error Resume Next
If Intersect(Selection, [A:G]).Columns.Count <> 7 Then Exit Sub
[COLOR="Red"]SendKeys "{DOWN " & Selection.Row - 2 & "}"[/COLOR]
ActiveSheet.ShowDataForm
End Sub

N'oubliez pas d'enregistrer le fichier sur le Bureau avant de tester.

A+
 

Pièces jointes

Re : LIEN HYPERTEXTE et insertion FORMULAIRE

Re,

Comme j'ai du temps à perdre, j'ai modifié la formule des liens hypertextes :

Code:
=LIEN_HYPERTEXTE(STXT(CELLULE("filename";donnees!$A$1);CHERCHE("[";CELLULE("filename"));1000)&"!A"&LIGNE()&":G"&LIGNE();"Saisie donnees")

Ainsi, si le nom du fichier ou celui de la feuille donnees sont modifiés, il n'y a rien à faire.

A+
 

Pièces jointes

Re : LIEN HYPERTEXTE et insertion FORMULAIRE

Bonjour

Lorsque la ligne est sélectionnée, peut-on afficher directement le formulaire de saisie sous la forme suivante en se positionnant toujours sur la ligne correspondant au bon test

Pays Italie
Continent Europe
Région
Code postal
Ville

Merci pour vos réponses
 
Re : LIEN HYPERTEXTE et insertion FORMULAIRE

Bonjour Yvetot, le forum,

Vous avez compris comment marche la macro ? Alors tous mes compliments.

Mais moi je ne comprends pas ce que vous dites.

En effet la macro affiche le formulaire de saisie comme vous le souhaitez.

A+
 
Re : LIEN HYPERTEXTE et insertion FORMULAIRE

Re,

Peut-être voulez-vous ceci.

Avec une macro SelectionChange, celle-ci se déclanche chaque fois qu'on sélectionne une ligne complète de données de la feuille donnees :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [A:G]).Columns.Count <> 7 Then Exit Sub
SendKeys "{DOWN " & Target.Row - 2 & "}"
ActiveSheet.ShowDataForm
End Sub

A+
 

Pièces jointes

Re : LIEN HYPERTEXTE et insertion FORMULAIRE

Re,

Il y a un inconvénient avec la méthode précédente.

Si après fermeture du formulaire de saisie on ne modifie pas la sélection, qu'on revient dans la feuille Test et refait le même Test, le formulaire de saisie ne s'ouvre plus.

Il faut donc alors utiliser une macro Worksheet_Activate.

Mais c'est un peu compliqué à comprendre (la variable flag est mémorisée) :

Code:
Dim flag As Boolean

Private Sub Worksheet_Activate()
If Not flag Then Saisie
End Sub

Private Sub Worksheet_Deactivate()
flag = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Saisie
End Sub

Sub Saisie()
flag = True
On Error Resume Next
If Intersect(Selection, [A:G]).Columns.Count <> 7 Then Exit Sub
SendKeys "{DOWN " & Selection.Row - 2 & "}"
ActiveSheet.ShowDataForm
End Sub

A+
 

Pièces jointes

Dernière édition:
Re : LIEN HYPERTEXTE et insertion FORMULAIRE

Bonjour

Il reste un petit problème si la première ligne de l'onglet 'Test' n'est pas la même que celle de l'onglet 'donnees' : il n'y a pas de contrôle sur le numéro du test.
Le test A sur lequel je veux saisir les donner arrive sur le test E de l'onglet donnees

Merci de votre aide
 

Pièces jointes

- 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

L
Réponses
1
Affichages
1 K
L
C
  • Question Question
Réponses
1
Affichages
1 K
A
Réponses
0
Affichages
1 K
Aurélie679
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…