Concaténer 2 cellules en gardant le lien hypertexte

Bonjour,

Peut-on en VBA ou Fonction, concaténer 2 cellules mais en gardant le lien hypertexte

Avec la fonction "concaténer" A2 = Abbeville E2= 80100 --> fonction =CONCATENER(A2;" (";E2; ")")" --> résultat --> Abbeville (80100)

Le lien hypertexte disparait

J'aimerais garder le lien hypertexte qui se trouve dans les cellules de la colonne A.

36concatener.xlsm (10.87 Ko)

merci

Bonsoir,

un essai avec la formule Lien_Hypertexte : =LIEN_HYPERTEXTE(A2;A2)&" ("&E2&")"
où l'on prend le lien existant et on affiche sa valeur que l'on concatène avec la cellule colonne E entourée des parenthèses.

Le fichier :

93concatener-lrd.xlsm (12.73 Ko)

@ bientôt

LouReeD

Bonjour LouReed,

Merci beaucoup c'est super, comme d'habitude

et en VBA c'est quel code?

juste par curiosité

@bientôt

Bonjour

Vous lancez l'enregistreur, puis mode de saisie dans une cellule qui contient la formule, vous validez avec entrée et vous arrêtez l'enregistreur.

Vous avez la formule sous vba, à adapter car il y a des références type R1C1...

@ bientôt

LouReeD

Ok merci

Je recherche aussi mettre l'HYPERLINK dans une TextBox ou Label:

On choisi, dans une combobox, un mot (contenant l'HYPERLINK ) et afficher ce mot avec son HYPERLINK dans une Textbox. C'est possible?

Je n'ai encore rien trouvé

merci

@ bientôt

Bonsoir,

comme dirait "quelqu'un" : si c'est impossible ce n'est pas Excel !

@ bientôt

LouReeD

Voici un fichier récupéré ici et mis en "stock" dans un dossier :

Il vous faut le retravailler, mais il y a bien un ComboBox, qui remplis des TextBox dont une si vous faites un double clic dedans vous renvois à l'adresse de l'hyperlien.
Le fichier :

@ bientôt

LouReeD

Merci mais dans cette exemple il affiche les lien en colonne E dans ce style (https://www.google.fr/maps/place/44%C2%B055)

Tandis moi j'ai mes lien dans sur le nom, j'ai essayé mais sans succés

Abbeville
lien corespondant
https://www.linternaute.com/ville/abbeville/ville-80001

Il faudrais que je récupère le lien de chaque cellule mais comment?

je cherche

@bientôt

Geoffroy

Bonsoir,

avez vous votre fichier avec le USF ?

@ bientôt

LouReeD

Bonjour,

voici le fichier d'exemple

merci

17lienhypertexte.xlsm (25.17 Ko)

Bonjour,

petit oublie dans le fichier ce n'est pas textbox6 mais textbox1

Private Sub TextBox6_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ThisWorkbook.FollowHyperlink Address:=Me.TextBox1.Text

mais erreur

erreur2

voilà

Par contre si vous avez une astuce rapide pour trier la combo, je suis preneur. Tous les codes que j'ai pu trouver, ça rame surtout avec 35000 lignes.

merci beaucoup

@ bientôt

Bonjour

Pour le tri : site boisgontier : tri quick sort je crois, très rapide avec mise en tableau vba des données puis système de classement par "moitié" je crois : premier élément au milieu, deuxième élément soit à droite au milieu si plus grand soit à gauche si plus petit etc etc, mais bon n'est pas là la solution ! Mais sur free Jacques Boisgontier, très connu sous excel...

@ bientôt

LouReeD

Bonsoir,

Merci pour l'info car c'est super interressant.

Dans ce site j'ai trouvé des codes où le trie de 35000 lignes ultra rapide .

Mais j'ai une petite question:

Si je copie les codes dans mon fichier, ça ne fonctionne plus en m'indiquant : "Variable non définie".

si je copie ma feuille sur ce classeur d'exemple, ça fonctionne.

Pourquoi j'obtiens cette erreur:

"Variable non définie".

dans mon classeur et non dans l'autre (ci-dessous)?

merci

ci-joint fichier (remplacé les listbox1 par combobox1)

Bonsoir,

Jacques BOISGONTIER n'utilisait pour ainsi dire jamais la ligne de code "Option Explicit" dans ses codes "exemple".

Cette ligne vous devez l'avoir dans vos feuilles de code, tant est si bien que "votre VBA" attends que les variables soient dimensionnées !
Si vous faites un copier coller des codes de JB alors le tableau VBA au nom de "a" ne sont pas connus comme variables car non dimensionnées !

Ajoutez des "DIM a, b, c etc..." en en tête de procédure et tout devrait rentrer dans l'ordre. Ne cherchez pas forcément à savoir quel type de variable s'est, juste les dimensionner fera disparaitre le message d'erreur.

Pour la rapidité c'est bien le code de tri quick sort ?

@ bientôt

LouReeD

Bonsoir,

Je te réponds de mon tel.

Je n'ai pas regarder si c'était le bon tri

Dès que possible je vérifie.

Merci 🙏

@bientôt

En tous cas votre fichier sur ma machine fonctionne sans erreur...

@ bientôt

LouReeD

Bonjour,

Sur ce fichier

10lienhyper31-3.xlsm (25.98 Ko)

j'obtiens cette erreur

lienerreur

Pour le tri, j'arrive avec la combobox2 mais pas la combobox3

j'ai une erreur

Ci-joint petit fichier avec tri combobox2 ok

12tricombobox2.zip (423.68 Ko)

Faut cliquer sur un département pour afficher usf

Merci pour vôtre aide

Ge0ffroy

Re

C'est OK pour le tri

J'ai retiré une ligne 'Me.ComboBox3.List(Me.ComboBox3.ListCount - 1, 3) = .Cells(lig, 2)

Comment faire pour avoir la combobox3 trié sans cliquer sur le bouton tri, directement quand l'usf s'ouvre?


Pour le lienHypertexte, je n'y arrive toujours pas

Merci

@bientôt

Bonsoir,

pour la première erreur j'ai ajouté une variable global sur le USF "EnCours".
lors de l'initialisation du USF, je passe cette variable à VRAI, le code continue et va modifier la ComboBox1, en tête de code de la procédure "Change" du ComboBox1 je fais un test sur la variable interrupteur "EnCours" : si elle est à vrai alors on sort de la procédure sinon on continue.
En fin de procédure d'initialisation on passe "EnCours" à FAUX afin de laisser "libre" le Change du ComboBox1 = plus de message d'erreur à ce niveau.

Pour la suite des questions je n'ai pas saisie le sens du déroulé des Sub de votre USF. Si le ComboBox3 est une liste de département composant la région sélectionnée, alors c'est dans la procédure "Change" du TextBox qu'il faut mettre par ordre croissant (par exemple) les données du ComboBox3 :
On change de région, TextBox4 Change, en fonction de sa valeur on remplie un tableau VBA avec le nom de ses départements, on envoie ce tableau dans la Sub tri avec en paramètre soit 1 ou 0, une fois le tableau trié on l'applique à la ComboBox3 comme vous l'avez fait avec la ComboBox2.

Mais encore une fois je suis perdu dans vos Sub, sans parler de l'indentation du code, je vous aie "corrigé" celui de l'initialisation, c'est beaucoup plus lisible, non ?

Private Sub UserForm_Initialize()

    Dim ligb As Long, temp()

    EnCours = True

    Set f = Sheets("ville")
    temp = f.Range("A2:A" & f.Range("A" & Rows.Count).End(xlUp).Row).Value
    Tri temp, LBound(temp), UBound(temp), 0   ' 1:Croissant 0:décroissant
    Me.ComboBox2.List = temp

    Range("A1") = Module1.numero ' il n'y a pas de sub numero dans le module 1 ?!
    With Me '= USF = UserForm2
        .Left = 750
        .Top = 300
        .ComboBox1.Value = Sheets("Départements").Range("B" & numero + 1).Value
        .ComboBox2.List = Sheets("Ville").Range("villeDept[vil]").Value
        .Caption = Sheets("Ville").Cells(Rows.Count, 1).End(xlUp).Row - 1 & " Villes"
        TextBox3.Value = Sheets("Départements").Range("C" & numero + 1).Value
        TextBox4.Value = Sheets("Départements").Range("E" & numero + 1).Value
        TextBox5.Value = Sheets("Départements").Range("D" & numero + 1).Value
        TextBox6.Value = Sheets("Départements").Range("F" & numero + 1).Value
        TextBox7.Value = Sheets("Départements").Range("G" & numero + 1).Value
        TextBox8.Value = Sheets("Départements").Range("J" & numero + 1).Value
        TextBox1.Value = Sheets("Départements").Range("H" & numero + 1).Value
        .Label12.Caption = Me.ComboBox2.ListCount
    End With

    EnCours = False

End Sub

J'ai également retiré les deux lignes de code avec un appel à "numero" dans le Module1, je n'en ai pas trouvé, ce qui faisait que la cellule A1 indiquait toujours 0...
ce qui provoque l'erreur du ComboBox1 car la référence n'existe pas...

@ bientôt

LouReeD

Bonsoir,

Un grand merci à vous.

Je fais confiance à 1000% à vos modifications

je vais modifier tout ça

Effectivement c'est beaucoup plus clair

Si le ComboBox3 est une liste de département composant la région sélectionnée, alors c'est dans la procédure "Change" du TextBox qu'il faut mettre par ordre croissant (par exemple) les données du ComboBox3 :

oui c'est bien ça mais je n'arrive pas à placer ce tri ... c'est bon j'ai pu trier combobox3

Comme vous avez pu voir A1 est à 0 pour mettre la couleur Blanche à la carte, enfin je crois

Quand on clic ou saisie un dpt, une ville le N° de dpt s'affiche en A1.Par contre pour le module , j'ai dû surement oublier d'effacer certains codes qui ne servaient plus

@bientôt

Rechercher des sujets similaires à "concatener gardant lien hypertexte"