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

annotation automatique

V

VEVE

Guest
Bonjour le forum

J’ai un tableau de 15 colonnes la premier étant la : A

Les cellules sont remplies avec des abréviations : très bien, assez bien, bien, passage et nul Dans un deuxième onglet ligne 1 il y à une adresse Internet qui correspond à très bien, la ligne 2 une autre adresse Internet pour assez bien, et ainsi de suite jusqu’à la ligne 5.

Voilà ma question : il y à t’il un moyen de balayer de la colonne A à 15 et jusqu’à la dernière cellule écrite dans chaque colonne avec une annotation et quand il rencontre une annotation il lui lie automatiquement le lien correspondent sur l’onglet 2 etc.… (Exemple il rencontre l’annotation bien il doit automatiquement lui mettre le lien n°3) et quand il à terminé la colonne A il va faire la même chose sur la colonne B et ainsi de suite sur les 15 colonnes.

Quand les personnes qui iront sur le tableau pourront cliquez sur une annotation exemple bien et automatiquement il sera dirigé via l’adresse Internet n°3 sur une feuille de commentaires.

J’espère vous avoir expliquer au mieux mon problème et je me permet de vous remercier pour votre aide.

Salutation

VEVE
 
M

myDearFriend

Guest
Bonsoir VEVE, le Forum.


Tu trouveras ci-joint un exemple qui devrait répondre à ta demande (voir commentaires dans le code).


Cordialement,
Didier_mDF
 

Pièces jointes

  • PourVEVE.zip
    8.5 KB · Affichages: 26
R

Robert

Guest
Salut Veve, MyDearFriend, le forum,

Veve, je pense avoir bien compris ton problème et je te propose la macro ci-dessous pour le résoudre. Si tu utilises cette méthode, tu ne devrais même plus avoir besoin de l'onglet 2 puisque les adresses sont écrites directement dans la macro. Je te l'ai commentée au maximum au cas où tu ne serais pas familier avec le VBA. Tu devras actualiser les URL en remplaçant celles que j'ai mis en exemple et vérifier l'orthgographe des Case qui doit correspondre exactement à tes annotations pour que cette macro fonctionne correctement...

MyDearFriend je regarde ton fichier pour connaître ta méthode...

À plus,

Robert

Sub liens()
'**********Déclarations et Définitions des Variables***********
Dim cel As Range 'déclare la variable cel (boucle for...each)
Dim x As Byte 'déclare la variable x (boucle for...next)
Dim tresbien As String 'déclare la variable tresbien (URL)
Dim assezbien As String 'déclare la variable assezbien (URL)
Dim bien As String 'déclare la variable bien (URL)
Dim passable As String 'déclare la variable passable (URL)
Dim nul As String 'déclare la variable nul (URL)

'écris entre les guillemets les véritables URL
tresbien = "http://www.tresbien.com" 'définie la variable tresbien
assezbien = "http://www.assezbien.com" 'définie la variable assezbien
bien = "http://www.bien.com" 'définie la variable bien
passable = "http://www.passable.com" 'définie la variable passable
nul = "http://www.nul.com" 'définie la variable nul
'*****Fin des Déclarations et Définitions des Variables********

For x = 1 To 15 'boucle pour les 15 colonnes
For Each cel In Range(Cells(1, x), Cells(65536, x).End(xlUp).Address) 'boucle pour les cellules editées de la colonne
'insertion du lien hypertexte selon la valeur de la cellule
Select Case cel.Value
Case "très bien" 'Attention ! vérifie que c'est la même orthographe
ActiveSheet.Hyperlinks.Add Anchor:=cel, Address:= _
tresbien, TextToDisplay:=cel.Value
Case "assez bien" 'Attention ! vérifie que c'est la même orthographe
ActiveSheet.Hyperlinks.Add Anchor:=cel, Address:= _
assezbien, TextToDisplay:=cel.Value
Case "bien" 'Attention ! vérifie que c'est la même orthographe
ActiveSheet.Hyperlinks.Add Anchor:=cel, Address:= _
bien, TextToDisplay:=cel.Value
Case "passable" 'Attention ! vérifie que c'est la même orthographe
ActiveSheet.Hyperlinks.Add Anchor:=cel, Address:= _
passable, TextToDisplay:=cel.Value
Case "nul" 'Attention ! vérifie que c'est la même orthographe
ActiveSheet.Hyperlinks.Add Anchor:=cel, Address:= _
nul, TextToDisplay:=cel.Value
End Select 'fin de cas
Next cel 'fin de boucle sur les cellules
Next x 'fin de boucle sur les colonnes
End Sub
 
R

Robert

Guest
Re à tous,

Veve, là y'a pas photo ! Tu dois utiliser la méthode de MyDearFriend qui est beaucoup plus efficace que la mienne. Merci pour la leçon.

Par contre, MyDearFriend, aurais-tu la patience et la gentillesse de m'expliquer à quoi correspond le 23 de SpecialCells(xlConstants, 23).
Je n'ai rien trouvé dans l'aide VBA qui me renseigne à ce sujet.

Par avance merci.

À plus,

Robert
 
M

myDearFriend

Guest
Salut Robert,


Tu as raison, l'aide précise :

.SpecialCells(Type, Value)
Type Argument XlCellType obligatoire. Cellules à inclure.

XlCellType peut être l'une de ces constantes XlCellType :
xlCellTypeAllFormatConditions. Cellules de n'importe quel format
xlCellTypeAllValidation. Cellules présentant des critères de validation
xlCellTypeBlanks. Cellules vides
xlCellTypeComments. Cellules contenant des commentaires
xlCellTypeConstants. Cellules contenant des constantes
xlCellTypeFormulas. Cellules contenant des formules
xlCellTypeLastCell. Dernière cellule dans la plage utilisée
xlCellTypeSameFormatConditions. Cellules de même format
xlCellTypeSameValidation. Cellules présentant les mêmes critères de validation
xlCellTypeVisible. Toutes les cellules visibles

Et pour l'argument Value
xlErrors
xlLogical
xlNumbers
xlTextValues

Aucun de ces arguments ne correspond à "23" !

Sauf erreur de ma part, .SpecialCells(xlCellTypeConstants).Select et .SpecialCells(xlConstants, 23) sont équivalents (pour ma part, j'utilise la 2ème solution plus par habitude qu'autre chose...).

Pour le vérifier, active l'enregistreur de macro, puis fais Edtion / Atteindre... / Cellules..., sélectionne "Constantes" et valide par Ok.

Tu obtiendras le code suivant :
.SpecialCells(xlCellTypeConstants, 23).Select
(étonnant non ?)


Cordialement,
Didier_mDF
 
R

Robert

Guest
Re... re,

Didier, je te remercie pour cette nouvelle leçon. C'est vraiment très sympa de ta part. C'est grâce à des gens comme toi que je suis tombé amoureux de ce forum... Encore merci.

À plus,

Robert
 
H

Hug

Guest
Pour l'ensemble du Forum

Messieurs chapeau bas

myDearFriend et robert laisser moi vous remercier de votre aide mes attentes sont plus que comblées.
Les explications et la leçon de myDearFriend sont à montrer sur l'ensemble du Forum.

Merci et continuer vous super

VEVE
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…