Copier-coller de page web

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

xavier44

XLDnaute Nouveau
Bonsoir le forum
J'utilise ce code:

ActiveSheet.PasteSpecial Format:="Texte", Link:=False, DisplayAsIcon:=False
ActiveCell.WrapText = False

pour coller un copier venant de page web.
Le pb c'est les chr(13), le paste se fait sur plusieurs cellules à cause du CR.

Une idée de code ?

Je pensais envoyer le clipBoard dans une string et la néttoyer, remplacer les Cr par des ctrl cr. Mais je ne sais pas comment utiliser la methode PasteSpecial Format:="Texte" avec une variable !

Je n'ai pas trouvé la const vb pour le Ctrl cr.

Merci pour votre aide.
 
Re : Copier-coller de page web

Bonjour à tous et merci à Pierrot de se préoccuper de mon pb.

La constante ou le code clavier que je cherche c'est "Ctrl return".
Celui qu'on fait pour aller à la ligne dans une cellule.

Le code est simple
Après avoir copier du texte sur une page html faire le collage spécial "Texte"

Sub ColleResume()
ActiveSheet.PasteSpecial Format:="Texte", Link:=False, DisplayAsIcon:=False
ActiveCell.WrapText = False
end sub

"Format= texte" de cette methode supprime le codage html, mais il reste tjrs les cr (chr(13)) qui font que le paste se fait sur plusieurs cellules

Merci pour votre aide
 
Re : Copier-coller de page web

Re Xavier

Oui erreur de ma part la constante est "vbcr" pour le chr13 (saut de paragraphe), désolé je t'avais donné "vblf" le chr 10 (saut de ligne).

En prime un code ci dessous qui pourra peut être te servir.

Code:
Sub ColleResume()
Dim montexte As String, c As Range

ActiveSheet.PasteSpecial Format:="Texte", Link:=False, DisplayAsIcon:=False

If ActiveCell.Offset(1, 0) <> "" Then
    For Each c In Selection
        montexte = montexte & c.Value & " "
    Next c
End If

Selection.ClearContents
ActiveCell.Value = montexte
End Sub

bon après midi
@+
 
Re : Copier-coller de page web

Ok pierrot,
Le code modifié:

Sub ColleResume()
Dim montexte As String, c As Range, i As Integer
ActiveSheet.PasteSpecial Format:="Texte", Link:=False, DisplayAsIcon:=False
i = 0
For Each c In Selection
If ActiveCell.Offset(i, 0) <> "" Then
montexte = montexte & c.Value & " "
End If
i = i + 1
Next c
Selection.ClearContents
ActiveCell.Value = montexte
End Sub

Problème, ce collage se fait dans une cellule entourée d'autre cellules avec leurs propres valeurs. C'est pourquoi je voudrais virer ces retours chariot avant le collage effectif en appliquant le méthode PasteSpecial à une variable.
Sinon ta méthode appliquée dans un coin en dehors de ma db est valable.
merci pour cette participation.
 
Re : Copier-coller de page web

Re Xavier

A priori le test dans le code que je t'ais donné ne sert à rien, je pense que tu peux l'enlever :

Code:
If ActiveCell.Offset(1, 0) <> "" Then

Par contre je ne vois pas du tout comment affecter le contenu du presse papier à une variable. Peut être que quelqu'un d'autre aura une solution...

Sinon coller le contenu vers la fin du classeur, l'éffacer et envoyer le contenu de la variable "montexte" vers la cellule concernée me parait une bonne solution.

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
373
Réponses
0
Affichages
706
Retour