IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro en pause pour saisie nom et prénom - Création lien hypertexte [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2018
    Messages : 19
    Par défaut Macro en pause pour saisie nom et prénom - Création lien hypertexte
    Bonjour
    Mon inculture en VBA me fait venir chercher de l’aide parmi vous.

    Présentation simplifiée de mon application :
    Dans la feuille INDEX, j’ai une colonne pour entrer des noms (de clients) et celle à sa droite, pour les prénoms. Dans les cellules suivantes sur la ligne, un certain nombre de cellules avec des formules.
    Pour créer un nouveau client, je clique sur un bouton de macro et une ligne s’insère dans laquelle se recopie les formules de la ligne suivante (ça, je l’ai).

    Je souhaiterai, que la macro se mette en pause pour pouvoir saisir nom et prénom du client, et qu’ensuite, à la validation de la saisie du prénom, elle reprenne en mettant le nom saisi en majuscule (même si cela a été fait à la saisie), pour continuer ensuite (avec ce que j’ai déjà écrit) en créant, en position 1, une feuille (fiche client) par recopie d’une feuille MATRICE VIERGE et qui prends comme nom, le nom et prénom, séparés par un espace, saisis précédemment quand la macro s’est arrêtée. Ca, ça fonctionne !

    Là, autre problème, je voudrais qu’en cliquant sur le NOM créé, j’arrive, par un lien hypertexte, sur la feuille correspondante. A la suite, si c’est possible, je souhaiterai mettre le nom saisi dans la feuille INDEX, en gras et en rouge.

    Pour la suite, je vais essayer de le faire moi-même :
    - A partir du nom de la feuille, prendre la partie en majuscule (nom) pour le copier dans une cellule de la fiche client, et le prénom, dans une autre cellule …… et ça, ce n’est pas gagné d’avance ! ! !
    - Trier les onglets par ordre alphabétique (pour cela, j’ai trouvé un code VBA, et je n’ai plus qu’à essayer de l’adapter !)
    ….. et ce sera la fin de ma macro !

    Pour le test, partons sur le principe que le nom du client, OCHON, est à saisir en B3, et le prénom, Paul, en B4, dans la feuille INDEX.
    D’avance merci pour l’aide qui pourrait m’être apportée.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Une piste à adapter à tes besoins :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    Sub Test()
     
        Dim FeBase As Worksheet
        Dim FeClient As Worksheet
        Dim Cel As Range
        Dim Nom As String
        Dim Prenom As String
     
        'demande le nom et le prénom par l'intermédiaire de 2 boites de message
        Nom = InputBox("Saisir le nom du client !")
        Nom = UCase(Nom)
     
        Prenom = InputBox("Saisir le prénom du client !")
        Prenom = Application.Proper(Prenom)
     
        'si le nom n'a pas été renseigné, fin
        If Nom = "" Then Exit Sub
     
        'feuille où se trouve la liste des client (ici, je pars du principe que c'est la feuille active)
        Set FeBase = ActiveSheet
     
        'recherche la première cellule disponible...
        With FeBase: Set Cel = .Cells(.Rows.Count, 1).End(xlUp).Offset(1): End With
     
        '...et y inscrit le nom et à coté, le prénom
        Cel.Value = Nom
        Cel.Offset(, 1).Value = Prenom
     
        'ajoute une feuille...
        Set FeClient = Worksheets.Add(, Sheets(Sheets.Count))
     
        '... et la renomme
        FeClient.Name = Nom
     
        'ajoute le lien hypertexte
        FeBase.Hyperlinks.Add Cel, "", FeClient.Name & "!A1", Nom
     
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2018
    Messages : 19
    Par défaut
    Bonjour Theze
    Merci pour ta réponse. Je vais essayer de comprendre ta solution et l'intégrer à mon application. Je reviendrais plus tard par là te donner des nouvelles...
    Bonne journée

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Si tu n'arrives pas à l'intégrer, postes ton code, je verrai ce que je peux faire

  5. #5
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2018
    Messages : 19
    Par défaut
    Bonsoir
    Excuses le retard à l'allumage, mais étant très occupé dans la journée, ce n'est que le soir que je me mets à travailler sur mon application.
    Je n'ai donc pas encore regardé ta solution (j'avais vu ta réponse ce matin, à l'allumage de l'ordi).
    Je m'y mets....
    Bonne soirée

  6. #6
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2018
    Messages : 19
    Par défaut
    Me revoilà....
    J'ai essayé ton code, et j'ai vu que la saisie de NOM et Prénom se faisait dans des fenêtres (pourquoi pas!) et ensuite que ça complétait les cellules. La création de la feuille se fait à ce que j'appelle "la dernière position" (tout à fait à droite).

    Je te joins une version édulcorée de mon application afin d'être sûr de parler de la même chose.

    Ca se passe dans l'onglet 0INDEX....
    Pour le début de ma grande macro, on clique sur le bouton sur le bouton INSERTION D'UNE LIGNE.... Et là, il faut saisir NOM et PRENOM... d'où nécessité d'une pause dans la macro pour cette saisie.
    On continue par un clic sur le bouton CREATION NOUVELLE FEUILLE: la création se faisant par copie de la feuille zz1Matrice vierge et la positionne tout à fait à gauche (ce que j'appelle en 1ère position: quelque soit le nb de feuille, elle est visible!). Elle prends automatiquement le nom NOM Prénom qui viennent d'être saisi.

    Et 2ème problème: créer un lien hypertexte sur NOM de la feuille 0INDEX, pour renvoyer dans la feuille correspondante, et SI POSSIBLE, mettre le nom en gras et en rouge !!!
    Je pense que ce ne doit pas être compliqué, mais ce n'est là que jugement de néophyte en VBA.
    Je te remercie de l'aide que tu peux m'apporter.
    Bonne soirée
    Cdlt
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/11/2017, 17h21
  2. Réponses: 1
    Dernier message: 01/11/2014, 12h10
  3. [WD-2007] Macro Recherche et création lien Hypertexte
    Par Arthur Z dans le forum VBA Word
    Réponses: 2
    Dernier message: 07/02/2012, 08h14
  4. [XL-2007] Macro création liens hypertexte
    Par Le Rookie dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 01/09/2010, 07h58
  5. [RegEx] Filtre pour les Noms et prénoms
    Par Merovingien dans le forum Langage
    Réponses: 3
    Dernier message: 18/04/2008, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo