Comment faire? [Résolu]

Signaler
Messages postés
19
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
6 octobre 2010
-
Messages postés
31548
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 mars 2021
-
salut à tous
Excusez-moi le sujet est comment faire?
merci

15 réponses

Messages postés
31548
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 mars 2021
344
Bonjour,

ce code fonctionne bien.

Sub q() 
Dim nom As String 
nom = InputBox("Entrez le nom de la feuille") 
Sheets("SUIVI MENSUEL").Select 
Range("D12").Select 
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ 
nom & "!G8" 
End Sub 


Par contre, lorsque l'utilisateur indique le Nom de la feuille
nom = InputBox("Entrez le nom de la feuille")

Est ce que cette feuille existe déjà ou est-ce à ce moment là que vous voulez la créer ?
- Si elle existe déjà : Utiliser une petite fonction pour tester son existence et voir si le nom donné correspond bien à celui utiliser dans le classeur excel.
- Si elle n'existe pas encore et que vous voulez la créer... ben.. VOUS n'avez pas indiquer à la macro qu'il faut la rajouter avant d'essayer de faire le lien hypertexte.


En gros pour ton code avec le test si la feuille existe :

Sub q()
Dim nom As String
nom = InputBox("Entrez le nom de la feuille")
' Test si la feuille existe déjà :
TestFeuil = FExist(nom)
    If TestFeuil = True Then ' Si elle exite.. alors créer le lien.
        Sheets("Feuil1").Select
        Range("D12").Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        nom & "!G8"
    Else ' si elle n'existe pas.. la créer...
    '//
    '//  ICI METTRE LE CODE POUR CREER LA FEUILLE
    '//   PUIS CREER LE LIEN HYPERTEXTE
    End If
End Sub

Function FExist(NomF As String) As Boolean ' test si la feuille existe
    Application.ScreenUpdating = False
    On Error Resume Next
    FExist = Not Sheets(NomF) Is Nothing
    Application.ScreenUpdating = True
End Functio


Fonction pour tester l'existence d'une feuille


Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
Messages postés
31548
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 mars 2021
344
Bonjour Damien.

Range(&i& ""&j& ""). select 

n'est pas la syntaxe exacte. (il manque les ":")
Pour ma part, j'utilise plutôt la fonction CELLS losque je veux sélectionner 1 cellules par sa ligne et sa colonne
essayes avec ça :
 
Cells(i, j).Select
'// i = N° de ligne
'// j = N° de colonne
'// i et j sont de type : Integer.



Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
Messages postés
31548
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 mars 2021
344
Bonjour,
Alors pour répondre clairement à cette magnifique question la réponse est :
il faut !

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
Messages postés
19
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
6 octobre 2010

salut jordane45
merci pour ta reponce , je voulais tout juste corriger le sujet de ma question precedente pas me moquer de vous vous nous êtes tres utile
merci et desolé pour mon imprudence
A++
Messages postés
31548
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 mars 2021
344
Bonjour,
Pas de soucis. je voulais juste faire un peu d'humour
En plus j'ai bien vu ton autre question.

Par contre si je peux me permettre :
Pour tes questions :
1 - Penses à mettre un titre Explicite : Exemple : VBA - Renomer feuilles classeur
2 - Penses à poster tes questions dans le bon FORUM
3 - Lorsque tu copies du code, Uilises les balises de code (le troisième bouton en partant de la droite dans le bandeau au dessus de la fenêtre de texte).

Bonne continuation.

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
Messages postés
19
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
6 octobre 2010

Merci jordane45
ça marche .j'ai une autre question.Les feuilles de mon classeur ne sont pas stables, le nombre de feuilles change à la demande de l'utilisateur.Par contre j'ai une feuille stable . j'aimerais que chaque cellule de cette feuille soit en lien hypertexte avec une cellule de la feuille nouvellement crée(chaque feuille est de nom differant de la prececente ).Que fairedans ce cas?Voici un code qui marche dans un cas:

Sub lien()
Sheets("SUIVI MENSUEL").Hyperlinks.Add Anchor:=Cells(12, 4), Address:="", SubAddress:= _
"'originale (2)'!G8"
End Sub

Or, "originale" (2) est une copie de "originale" et qui va changer de nom a la demande de l'utilisateur. Quelle est la solution?
merci pour tout.
Damien
Messages postés
31548
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 mars 2021
344
Bonjour,
Le plus simple serait de modifier ton lien Hypertexte au momment du renomage de la feuille.
En gros : tu recherches dans ta feuille "Suivi Mensuel" où se trouve la ligne concernée par la modification, puis lorsque l'utilisateur modifie le nom de la feuille grâce à ton autre macro, tu change ton lien.

Pour le code, je te laisse chercher un peu.. ( là maintenant moi je vais aller manger ^^ )

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
Messages postés
19
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
6 octobre 2010

bonjour,
j'aimrais qu'il soit automatique qu'à chaque feuille crée le lien exite . elles ont pour differance la cellue de depart mais toute ses feilles sont dans le même classeur
merci pour ta disponibilité
damien001
Messages postés
31548
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 mars 2021
344
Bonjour,
Peux tu nous apporter quelques préscisions ?

Où se trouvent tes liens ? (nom de la feuille, colonne et/ou Ligne).
Comment doivent ils se présenter ? : les uns en dessous des autres ?
Comment ajoutes-tu ces feuilles ? (macro). (est-ce la meme qui modifie le nom de la feuille par l'utilisateur ?).

Eventuellement, peux tu nous mettre à dispo ton classeur (en passant par le site : ci-joint.fr par exemple ) ?

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
Messages postés
19
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
6 octobre 2010

bonjour,
pour plus de précision:
-les feuilles son generer a ala demande de l'utilisateur grâce à une macro(Ctrl+o)
- il renomme la feuille grâce à une autre macro(Ctrl+c)car c'est lui qui donne le nom à la feuille(boîte de dialogue).
bien , dans mon classeur j'ai une feuille fixe que j'ai appllé ("suivi mensuel") il contient un tableau qui a 365 cellules(D10:O40).
Chaque cellule contient la valeur de a cellule G8('nom'G8).Et ainsi de suite.
- donc chaque cellule de la feuille "suivi mensuel" doit avoir un lien hypertext avec la cellule G8 de chaque feuille generer par l'utilisateur
voici en quelques mots le probleme qui se pose
Cordialement
Damien001
Messages postés
19
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
6 octobre 2010

bonsoir ,
voici une macro:

Sub q()
Dim nom As String
nom = InputBox("Entrez le nom de la feuille")
Sheets("SUIVI MENSUEL").Select
Range("D12").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
nom & "!G8"
End Sub

Lorsque je compile il ne me donne aucune erreur,mais lorsque j'execute , un message apparait ma disanr : << Reference non valide>> .
Pouvez-vous me corriger ce code s'il vous plaît .
Merci de votre disponibilité
Damien001
Messages postés
31548
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 mars 2021
344
Bonjour,

tu as oublié de renomer ta feuille après l'inputbox.


Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
Messages postés
19
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
6 octobre 2010

bonsoir jordane45,
Merci pour tout car sans vous nous resterons dans la nuit .Mais "SUIVI MENSUEL" est la feuille où le lien doit exister à la cellule "D12", et le nom entré est le nom de la feuille ou se trouve la cellule "!G8" à lier.
A+
Damen001
Messages postés
19
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
6 octobre 2010

Bonjour jordane45,
Merci beaucoup jordane45 por tes explication et pour ta disponibilité. le code fonctionne tres bien et à tout de suite
DAMIEN
A++
Messages postés
19
Date d'inscription
mercredi 25 août 2010
Statut
Membre
Dernière intervention
6 octobre 2010

bonjour ,
Si j'ecris: Range(&i& ""&j& ""). select
dans mon code.
cela peut - il marcher?
ceci pour selectionner les cellules une par une
dans la feuille (feuil1)
merci
damien001