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 pour générer une page html avec l'adresse de toutes mes cellules


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Points : 14
    Points
    14
    Par défaut Macro pour générer une page html avec l'adresse de toutes mes cellules
    Bonjour,

    Comme l'indique le titre, avec une macro, j'aimerai générer une page html avec l'adresse de toutes mes cellules, et ceci pour chaque feuilles de mon classeur. Je sais le faire pour une adresse, mais quand il s'agit d'afficher plusieurs adresse dans mon fichier html, c'est là que ça devient compliqué.

    Voici mon code :
    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
     
    Sub Html1()
     
    Dim fs As Object
    Dim i As Byte
    Dim j As Byte
     
     
    For i = 1 To Sheets.Count
    For j = 7 To 10
     
    Set fs = CreateObject("Scripting.FileSystemObject")
     
    Dim f As Object
     
    Set f = fs.opentextfile("myFile" & i & ".html", 2, True)
    Sheets(i).Activate
     
    f.writeline "<html>"
     
    f.writeline "<head>"
     
    f.writeline "<title>Macro</title>"
     
    f.writeline "</head>"
     
    f.writeline "<body>"
     
    f.writeline "  <a href=""" & Cells(j, 10) & """>" & Cells(j, 7) & "</a>"
     
    f.writeline "</body>"
     
    f.writeline "</html>"
     
    f.Close
    Next j
    Next i
    End Sub
    Dans mon fichier excel, j'ai dans une colonne, un nom, et en face, dans une autre colonne, une adresse. Ce nom pointe en fait vers cette adresse. Dans mon code, J'ai alors essayé de rajouter une boucle j pour qu'il y ait 4 adresses dans mon fichier html. Malheureusement, on ne voit toujours qu'une seule adresse, et c'est la dernière qu'il prend en compte, donc la cellule (10,7) associé à son adresse de la cellule (10,10).

    Quelqu'un aurait-il une idée?

    Merci d'avance

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    J'ai réussi à boucler sur les 4 lignes contenant mes adresses. Cependant je ne sais pas comment appliquer cela à toutes mes cellules qui ne sont pas vide. J'ai essayé avec "Cells.Value" sans succès.
    Voici mon code :

    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
    40
    41
    42
     
    Sub Html1()
     
    Dim fs As Object
    Dim i As Byte
    Dim j As Long
     
    For i = 1 To Sheets.Count
     
    Set fs = CreateObject("Scripting.FileSystemObject")
     
    Dim f As Object
     
     Set f = fs.opentextfile("myFile" & i & ".html", 2, True)
    Sheets(i).Activate
     
     
     
     f.writeline "<html>"
     
    f.writeline "<head>"
     
    f.writeline "<title>Macro</title>"
     
    f.writeline "</head>"
     
    f.writeline "<body>"
     
    For j = 7 To Cells.Value
     
    f.writeline "<br>"
    f.writeline "  <a href=""" & Cells(j, 10) & """>" & Cells(j, 7) & "</a>"
    Next j
    f.writeline "</br>"
     
    f.writeline "</body>"
     
    f.writeline "</html>"
     
    f.Close
    Next i
    End Sub

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For j = 7 To Cells.Value
    ? --->> Ah bon ? Tu es certain de cela ? !!! Affiche donc cells.value et médite ...
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    On me dit en fait que la mémoire est insuffisante. Mais finalement je ne sais pas si c'est la bonne façon de faire, il y aurait pas moyen de faire quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    For j = 7 To Not (IsEmpty(ActiveCell))
    Mais je ne sais pas comment m'y prendre.

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/05/2016, 18h20
  2. VB6: Récupération des meta d'une page HTML avec HTMLDocument
    Par Matounet dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/09/2011, 07h55
  3. [OpenOffice] [Macro]Comment manipulé une page html avec Mozilla Firefox
    Par Didsche dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 23/06/2011, 11h59
  4. Générer une page html depuis un fichier texte
    Par Thordax dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 11/04/2006, 08h29
  5. Réponses: 7
    Dernier message: 14/09/2005, 10h50

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