Partager via

Bonjour je veux créer un LIEN_HYPERTEXTE (URL), avec deux cellules comprenant du texte concaténer parce que j'ai plus de 255 caractères.

Anonyme
2025-02-12T22:50:05+00:00

Bonjour je veux créer un LIEN_HYPERTEXTE (URL) et le lien ne fonctionne pas. Si je copie le texte dans une autre cellule avec la fonction collage spécial Valeur (v) ça fonctionne, mais je veux que ce soit automatique. Comme il y a plus de 255 caractères je dois utiliser concatener ou &

Voici le résultat dans ma cellule N12 avec le collage spécial Valeur (v) provenant de N13 https://climat.meteo.gc.ca/climate_data/hourly_data_f.html?hlyRange=2013-02-13%7C2025-02-12&dlyRange=2013-02-14%7C2025-02-12&mlyRange=%7C&StationID=51157&Prov=QC&urlExtension=_f.html&searchType=stnName&optLimit=yearRange&StartYear=1940&EndYear=2025&selRowPerPage=25&Line=4&searchMethod=contains&Month=02&Day=10&txtStationName=Montreal&timeframe=1&Year=2025 Le lien fonctionne et je ne comprends pas pourquoi il ne fonctionne pas dans N13 ou O13 Voici les cellules avec le texte et les fonctions utilisés

J'ai ma date d'inspection en B13, et

Ma date d'aujourd'hui en J12.

j'ai en L13 cette formule : =CONCATENER("https://climat.meteo.gc.ca/climate_data/hourly_data_f.html?hlyRange=2013-02-13%7C";J12;"&dlyRange=2013-02-14%7C";J12;"&mlyRange=%7C&StationID=51157&Prov=QC&urlExtension=_f.html&searchType=stnName&optLimit=yearRange&StartYear=1940&EndYear=2025") et

j'ai en M13 le reste du texte que je veux contatener pour réaliser l'adresse URL : =CONCATENER("&selRowPerPage=25&Line=4&searchMethod=contains&Month=";TEXTE(B13;"mm");"&Day=";TEXTE(B13;"jj");"&txtStationName=Montreal&timeframe=1&Year=";ANNEE(B13))

Dans la cellule N13 j'ai inscrit : =L13&M13. et

Dans ma cellule O13 la formule : =LIEN_HYPERTEXTE(L13&M13;"Météo"),

j'ai aussi essayé :=LIEN_HYPERTEXTE(N13;"Météo")

Au lieu de Météo c'Est écrit #VALEUR! et il y a le petit icon ALERT qui indique : le type de donnée d'une valeur utilisée dans la formule est incorrect.

Quelqu'un peut m'aider à comprendre ce qui ne va pas dans mes formules ?

Une fois ce problème réglé, ma prochaine étape sera d'automatiser en VBA l'impression de la page de météo qui apparaît selon la date que j'ai indiqué dans ma cellule b13. Alors si la solution est plus facile en VBA je suis ouvert aux solutions.

Merci!

Microsoft 365 et Office | Excel | Autres | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

2 réponses

  1. Anonyme
    2025-02-13T01:31:11+00:00

    Oui tu as raison, je n'avais pas précisé que dans J12 j'ai inscrit cela : =CONCATENER(ANNEE(AUJOURDHUI());"-";TEXTE(AUJOURDHUI();"mm");"-";JOUR(AUJOURDHUI())) Tout fonctionne c'est vraiement dans l'automatisation. Maintenant je suis rendu à ce problème : j'ai créé un VBA. J'ai réussi à ouvrir la page avec le vba. Donc aucun problème lié au résultat dans N13. Maintenant mon problème est que je ne suis pas capable d'imprimer le PDF en inscrivant d'avance le PDFPATH. Voici ma programation VBA la boîte de dialogue s'ouvre au lieu d'imprimer directement.

    Sub ImprimerPageWeb()

    'Sub ImprimerPageWebEnPDF()

    Dim ie As Object
    
    Dim url As String
    
    Dim pdfPath As String
    
    Dim ws As Worksheet
    
    Dim printerName As String
    
    Dim currentPrinter As String
    
    ' Définir la feuille de calcul active
    
    Set ws = ThisWorkbook.Sheets("info clients") ' Remplacez "Sheet1" par le nom de votre feuille
    
    ' Récupérer l'URL de la cellule N13
    
    url = ws.Range("N13").Value
    
    ' Définir le chemin de sauvegarde du fichier PDF
    
    pdfPath = ThisWorkbook.Path & "\Annexe\_II\_meteo.pdf"
    
    ' Créer une instance d'Internet Explorer
    
    Set ie = CreateObject("InternetExplorer.Application")
    
    ' Naviguer vers l'URL
    
    ie.Visible = True
    
    ie.Navigate url
    
    ' Attendre que la page soit complètement chargée
    
    Do While ie.Busy Or ie.ReadyState <> 4
    
        DoEvents
    
    Loop
    
        ' Définir le nom de l'imprimante
    
    printerName = "Microsoft Print to PDF"
    
    Cells.Range("A163").Value = printerName
    
    ' Sauvegarder l'imprimante actuelle
    
    currentPrinter = Application.ActivePrinter
    
    Cells.Range("A164").Value = currentPrinter
    
    ' Changer l'imprimante active
    
    'Application.ActivePrinter = printerName
    

    ' Configurer les paramètres d'impression

    With ie.document.parentWindow
    
        .execScript "document.body.style.zoom='100%';", "JavaScript"
    
        .execScript "document.body.style.margin='0';", "JavaScript"
    
    End With
    
    ' Imprimer en PDF
    
    ie.ExecWB 6, 2, pdfPath, "11x17"
    
    'ie.ExecWB 6, 2, "D:\business\Rapport\soumission\Annexe\_II.pdf", "11x17"
    
    ' Fermer Internet Explorer
    
    'ie.Quit
    
    ' Libérer les objets
    
    Set ie = Nothing
    
    Set ws = Nothing
    
    ' Restaurer l'imprimante par défaut
    
    'Application.ActivePrinter = currentPrinter
    
    ' Message de confirmation
    
    'MsgBox "La page web a été imprimée en PDF avec succès!", vbInformation
    

    End Sub

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Hecatonchire 53,700 Points de réputation Modérateur bénévole
    2025-02-12T23:22:41+00:00

    Bonjour,

    Je n'ai pas testé mais pour moi il y a déjà un problème avec les références à J12

    =CONCATENER("https://climat.meteo.gc.ca/climate_data/hourly_data_f.html?hlyRange=2013-02-13%7C";J12;"&dlyRange=2013-02-14%7C";J12;"&mlyRange=%7C&StationID=51157&Prov=QC&urlExtension=_f.html&searchType=stnName&optLimit=yearRange&StartYear=1940&EndYear=2025")

    Une date est un N° de série donc la date du 13/02/2025 est renvoyée sous la forme "47701" et non "2025-02-13"

    Il faudrait remplacer les J12 par TEXTE(J12;"aaaa-mm-jj")

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire