Du texte à l'hypertexte
Désolé si je reviens vite faite à l'attaque, Appliacation.goto ou Range.Select fonctionnent mais j'aimerai l'appliquer à mes trois feuilles en même pour que ces 3 ci reviennent toutes en haut de feuille
Sub EffacerFiltre()
Application.ScreenUpdating = True
Worksheets("Sommaire").TextBox1.Value = ""
Worksheets("Prévisions").TextBox1.Value = ""
Worksheets("Tableau des téléchargements").TextBox1.Value = ""
For Each f In ActiveWorkbook.Sheets
On Error Resume Next
f.ShowAllData
Next
Dim ws As Worksheet
For Each ws In Sheets(Array("Sommaire", "Prévisions", "Tableau des téléchargements"))
ws.Range("A1").Select
Next ws
End SubAvec a peu près le même code j'arrive à filtrer 3 feuilles via une textbox, j'ai essayé de changer un morceau pour faire un haut de page sur mes 3 feuilles mais pas moyen, seule la feuille active remontre en A1...
seule la feuille active remontre en A1...
Et bien tu as la réponse : active tes feuilles
eric
J'y ai pensé au moment ou j'ai vu que tu m'avais répondu!
Merci bien ça marche.
Bonne journée et peut être à bientôt sur un autre sujet
BONNNNNJOUUUUUR le forum!
Je reviens encore une fois à l'attaque sur ce sujet. La chose fonctionne très bien pas de soucis la dessus mais j'aimerai y ajouter une fonctionnalité. En effet j'aimerai que ce lien hypertexte se supprime (ou pas) en fonction du contenu d'une cellule.
En gros si en colonne C OU E OU G on a "?" alors le lien reste si on a autre chose (peu importe ce que c'est) alors on efface le contenu de la colonne lien hypertexte (colonne I).
Voila voila, très courte explication mais j'imagine qu'il faudra modifier la macro pour effectuer cela et comme les macros et moi ça fais deux, plutôt que de faire une connerie, je préfère m'adresser à mes sauveurs :3
Sur ce bonne journée et à très vite!
Bonjour,
Beaucoup de changements sur ta feuille, avec des #REF en prime dessus.
J'ai fait tel que j'ai imaginé le fonctionnement que tu voulais.
A tester donc.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, lig As Long
Static noEvents As Boolean
If noEvents Then Exit Sub
lig = Target.Row
If Target.Column < 2 Or Target.Column > 7 Or lig < 18 Then Exit Sub
If IsError(Cells(lig, "A")) Then Exit Sub
noEvents = True
With Cells(lig, "I")
.Hyperlinks.Delete
.ClearContents
.Interior.ColorIndex = 56
If Cells(lig, "C") = "?" Or Cells(lig, "E") = "?" Or Cells(lig, "G") = "?" Then
Set c = Sheets("Fansub").[A:A].Find(Cells(lig, "A"), LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
.Value = Cells(lig, "A")
.Hyperlinks.Add Cells(lig, "I"), c.Offset(, 1)
.Interior.ColorIndex = xlNone
End If
End If
End With
noEvents = False
End Suberic
Salut eriic, désolé pour les #REF j'ai allégé mon classeur de toutes ses feuilles sauf les deux concernées par le sujet donc du coup...
Bref ton code fonctionne, le lien se supprime correctement lorsque la cellule C, E ou G passe de "?" à autre chose.
CEPENDANT, trois problèmes surviennent:
- Premièrement lors de la suppression le fond de ma cellule passe d'un gris foncé à un gris plus clair... Ce qu'il ne faut évidemment pas.
- Deuxièmement si j'ai le malheur de mettre un "?" dans les colonnes C,E ou G AVANT de mettre mon hypertexte et bien je ne peux plus en entrer, je pourrai entrer du texte en I mais pas faire fonctionner la macro d'hyperlink que tu m'avais faites précédemment... C'est un problème car malheureusement lorsque une série passe "En cours" j'entre un "?" en C,E ou G et ENSUITE plus tard dans la colonne Hyperlink [I] j'entre le nom d'une fansub une fois que celle-ci commence à traduire la série...
- Troisièmement si mes cellules C,E ou G passe de "?" à autre chose il ne m'est plus possible par la suite de refaire fonctionner la macro d'hyperlink sur la ligne ou le changement de "?" à autre chose a été effectué... Il m'arrive parfois qu'une série se termine (donc que je passe de "?" à autre chose en C) mais que des OAV passe "En cours" et dans cas la je suis amené à mettre un "?" en E et renseigner une nouvelle fansub qui couvre les OAV.
Voila, tu as toujours le fichier test que je t'ai donné donc de quoi reproduire les problèmes énumérés, je cherche de mon côté mais je ne pense pas réussir a déchiffrer ce que tu viens de me donner
- Premièrement lors de la suppression le fond de ma cellule passe d'un gris foncé à un gris plus clair... Ce qu'il ne faut évidemment pas.
Pas si évident que ça puisque ton classeur présentait cette particularité.
Supprime les 2 lignes .Interior.ColorIndex = ...
Fonctionnement actuel : au moment de la saisie si c'est un ? en C, E ou G je récupère le texte en A pour le mettre en I avec le lien.
On ne peut mettre un lien que sur un texte. Si tu en veux un autre : clic-droit dessus et 'modifier'.
Pour le reste, plutôt que te dire ce qui ne va pas explique plutôt ce que tu veux. Je ne peux pas deviner le fonctionnement voulu (voilà le résultat...)
eric
Bon concrètement comme je l'ai dis dans mon premier message depuis que je suis revenu sur le sujet:
- Quand un anime deviens "En cours" je met un "?" en C, E ou G... Quelque temps après avoir mis ce "?" je viens ajouter le nom d'une fansub qui est dans la liste sur la feuille "Fansub" qui permet de créer les hyperlink et ce en colonne I. Cependant il se peut qu'il se passe plusieurs jours entre le moment ou je met un "?" en C, E ou G et le moment ou j'entre le nom de la fansub pour créer l'hyperlink via ta macro OR avec le code que tu m'a passé si je met un "?" en C, E ou G IMPOSSIBLE de faire fonctionner l'hyperlink, par exemple je tape "Ekstasy Fansub" qui est dans mon tableau source pour les hyperlink mais cela ne me met uniquement qu'un texte et pas l'hyperlink... Si je fais le contraire donc hyperlink avant le "?" et bien cela fonctionne mais je n'entrerai jamais les données dans ce sens la...
EN GROS: SI "?" en C, E ou G autoriser Hyperlink en I
SI "autre chose que ?" en C, E ou G effacer le contenu en I (tout en laissant la possibilité de remettre un hyperlink en I si jamais C, E ou G repasse en "?")
Voila j'ai expliqué le plus précisément possible, en gros j'aimerai pouvoir faire ce que je ne peux pas actuellement avec ton code et rien de plus
Quelque temps après avoir mis ce "?" je viens ajouter le nom d'une fansub
Ou ça ? En A ?
En I, comme dans le fichier test que je t'ai donné.
Qu'on se mette d'accord car je crois que y'a problème de communication :p
Je rentre mes "?" en C, E ou G
Je rentre mon hyperlink en I
Ma base de données pour les hyperlink sont sur la feuille "Fansub"
Voila!
A tester :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range, lig As Long, celLien As Range
Static noEvents As Boolean
If noEvents Then Exit Sub
lig = Target.Row
If lig < 18 Then Exit Sub
Set celLien = Cells(lig, "I")
Select Case Target.Column
Case 3, 5, 7, 9
celLien.Hyperlinks.Delete
If celLien <> "" And Cells(lig, "C") = "?" Or Cells(lig, "E") = "?" Or Cells(lig, "G") = "?" Then
Set c = Sheets("Fansub").[A:A].Find(celLien, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
celLien.Hyperlinks.Add Target, c.Offset(, 1)
End If
Else
noEvents = True
celLien.ClearContents
noEvents = False
End If
End Select
End Suberic
Bonjour eriic,
J'ai test et je n'ai pas relevé d'erreur dans le fonctionnement, j'ai enlevé et remis plusieurs fois un lien hypertexte ça fonctionne toujours.
Seul chose, lors de la suppression de contenu en I le fond de cellule passe de gris foncé à blanc
Je suppose qu'il y a une ligne à ajouter ou enlever?
Encore merci pour toute tes réponses!
Bonjour,
Non, pas de ligne pour gérer les couleurs.
En fait c'est la suppression du lien qui bizarrement fait ça.
Comme de toute façon la cellule est vidée si on ne trouve pas de lien à mettre tu peux mettre en commentaire (ou supprimer) cette ligne avec une ' devant :
'celLien.Hyperlinks.Delete
eric
Problème réglé.
Merci mille fois eriic et bonne soirée!