Comment faire pour supprimer les balises internet avec vba

gilout1234 Messages postés 10 Date d'inscription lundi 17 octobre 2011 Statut Membre Dernière intervention 2 mai 2015 - 10 sept. 2013 à 03:00
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 13 sept. 2013 à 00:28
Bonjour,
j'aimerai savoir comment on peut fair pour supprimer (pas supprimer m'est durent par exemple jusqu'à la fermeture du vba (exe)) une balise html avec vba

et excel comme recepteur de balise

exemple de balise :
<div class="cs_logo_ccm">
<a href="/"><img src="http://static.ccm2.net/codes-sources.commentcamarche.net/_skin/_local/img/log_ccm_l.png?201007091112" alt="Commentçamarche.net"></a>
</div>

merci de bien vouloir m'aider je suis bloque a ce niveau la

bien à vous

Simplify Software
Direction, David Guillaume

6 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
10 sept. 2013 à 08:35
Bonjour.
Vous posez une question sur du vba et postez dans vb.net.?..

Sinon, supprimer la balise..pourriez vous être un peu plus précis ?
Vous voulez récupérer du texte à l'intérieur ou la supprimer entièrement ?

Au cas où, regardez du côté des expressions régulières.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
10 sept. 2013 à 16:24
Re,
Tu peux aussi essayer de passer par la manipulation des chaines de caractères :

Sub test()
Dim baliseDebut As String
Dim baliseFin As String
Dim countBD As Integer
Dim countBF As Integer
Dim Resultat As String
Dim strVariable As String

'Texte à traiter
strVariable = Range("A1").Value


'Parametres
baliseDebut = "<div"
countBD = Len(baliseDebut)
baliseFin = "</div>"
countBF = Len(baliseFin)

'On cherche la position de début et de fin de la chaine
Debut = InStr(1, strVariable, baliseDebut)  ' Position du <div
Fin = InStr(1, strVariable, baliseFin)   ' Position du </div>

Resultat = Mid$(strVariable, Debut + countBD, (Fin - countBF) - Debut)

End Sub


Après... il faut l'adapter en fonction de vos besoins.
Là, on ne sait pas où se trouvent les données, ni comment elles sont disposées ( une cellule contient une balise ? )


0
gilout1234 Messages postés 10 Date d'inscription lundi 17 octobre 2011 Statut Membre Dernière intervention 2 mai 2015
10 sept. 2013 à 16:32
merci je vais essayer ça
0
gilout1234 Messages postés 10 Date d'inscription lundi 17 octobre 2011 Statut Membre Dernière intervention 2 mai 2015
10 sept. 2013 à 16:47
j'essaye de faire que une cellule excel contient une balise

et que le vba recherche le lien exemple cellule A1

puis que vba recherche et supprime la balise d'une page web

merci
0
gilout1234 Messages postés 10 Date d'inscription lundi 17 octobre 2011 Statut Membre Dernière intervention 2 mai 2015
11 sept. 2013 à 00:23
j'essaye de faire que une cellule excel contient une balise

et que le vba recherche le lien exemple cellule A1

puis que vba recherche et supprime la balise d'une page web

merci

--
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
12 sept. 2013 à 10:53
Bonjour,
Je viens de voir que tu as posé la même question hier soir à 23h, sur un autre site...
[ Toujours sans donner d'explications détaillées..comme le fait d'avoir une balise par cellule..etc.. ]

Bref, je suppose donc que tu bloques toujours....

Pourrait-tu nous montrer ce que tu as déjà fait comme code (histoire qu'on essaie de comprendre où tu bloques...) et comment tu as pris en compte ma réponse précédente.

Ne t'attends pas à ce que les gens te fournissent un code "Prêt à l'emploi" ..surtout vu le peu d'informations que tu donnes !!
Par exemple :
-> Dans ma colonne "A" j'ai, dans chaque cellule, une balise html contenant une URL
-> Je souhaites extraire cette URL et supprimer tout les autres éléments des balises HTML ( en remplaçant le contenu de mes cellules en "A" ou en 'copiant' ces liens dans une autre feuille par exemple..
-> etc...


Par contre, petite question : Peux-tu préciser ce que tu entends par :
la fermeture du vba (exe))

Le VBA est un langage de programmation..
- ce n'est pas un EXE !
- Il ne se "ferme" pas ! ( au mieux, la macro se "termine" )
-> Ce qui signifierrai, pour toi, que lorsque tu lances la macro ... elle vire les balises html, extrait les liens... et remet tout comme avant.. => Sans que tu fasses quelque chose avec ces URL ? (quel intérêt ? )



Commence donc par CORRECTEMENT expliquer ta demande.
MONTRE nous ce que tu as déjà essayé de faire comme code
INDIQUE nous où tu bloques

Et au passage...Va faire un tour sur cette page :
http://codes-sources.commentcamarche.net/contents/11-charte-de-commentcamarche-net-conseils-d-ecriture#description-du-probleme

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gilout1234 Messages postés 10 Date d'inscription lundi 17 octobre 2011 Statut Membre Dernière intervention 2 mai 2015
Modifié par gilout1234 le 12/09/2013 à 23:48
je vais changer le sens de ma question

j'aimerai savoir si il y a moyen de supprimer temporairement une balise

HTML avec Virtual basic

Excel--->VBA NON je veux pas utiliser le vba dans le développeur de Excel

Vba --->Exel Oui

donc en résumer vba--->recherche dans le fichier EXCEL une balise html (A,1) durant la fonction macro la balise html se supprime ---> des que la macro se "termine" tous les balise se restaure sur internet

exemple de balise a supprimer temporairement:

<div class="gb_ga"></div>


bien à vous

David G

--
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
Modifié par jordane45 le 13/09/2013 à 00:32
Au risque de paraitre désagréable... ce que tu marques NE VEUT RIEN DIRE !
Excel--->VBA NON je veux pas utiliser le vba dans le développeur de Excel
Vba --->Exel Oui

Sais-tu au moins ce qu'est le VBA ?
VBA = Visual Basic for Application
C'est un langage de programmation présent dans un certain nombre de logiciels comme Excel, Word, Access, PowerPoint....

Quoi qu'il arrive, il te faudra donc forcément coder dans l'Editeur VBA (ici celui d'Excel) qu'on appel le VBE : Visual Basic Editor

durant la fonction macro
Une Macro est ce qu'on pourrait apparenter à un SUB.
Une fonction... ben c'est une fonction : Function en VBA

des que la macro se "termine" tous les balise se restaure sur internet
Balise est un mot féminin et tu utilise du pluriel ..donc : TOUTES les baliseS se restaurENT..


Maintenant que ces quelques points ont été abordés, essayons de traiter ta question...

Voila le code qui fait EXACTEMENT ce que tu as demandé

Sub CeciEstUneMACRO()
Dim ValCELLULE As String
Dim ContenuBalise As String
    ValCELLULE = Range("A1").Value
    ContenuBalise = ExtraitContenuBalise(ValCELLULE, "<div", "</div>")
'Suppression de la balise
    Range("A1").Value = ContenuBalise
'remise de la balise
    Range("A1").Value = ValCELLULE
End Sub

Function ExtraitContenuBalise(strVariable As String, baliseDebut As String, baliseFin As String) As String
    Dim Debut As Integer
    Dim Fin As Integer
    Dim countBD As Integer
    Dim countBF As Integer
    countBD = Len(baliseDebut)
    countBF = Len(baliseFin)
'On cherche la position de début et de fin de la chaine
    Debut = InStr(1, strVariable, baliseDebut)
    Fin = InStr(1, strVariable, baliseFin)
ExtraitContenuBalise = Mid$(strVariable, Debut + countBD, (Fin - countBF) - Debut)
End Function



A bon entendeur..

NB: Pense à l'avenir que les membres du site ne sont pas là pour faire TOUT le travail. Normalement, les personnes qui posent des questions, montrent le code qu'elles ont essayé de mettre en place...

NB²: Avant de poser de nouvelles questions sur le forum, merci de lire la CHARTE

Cordialement,
Jordane
0
Rejoignez-nous