Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 coller un texte dans la barre de formule

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Me voici avec un nouveau souci que je ne parviens par à résoudre.
Rien trouvé sur le net et mes tentatives ne donnent rien..

Je me permets, une fois de plus de vous le soumettre, dans l'espoir d'une solution :

Nous copions des informations à chaque instant qui viennent du net.
Des liens et des textes d'annonces de biens à vendre.

actuellement, je copie les textes d'annonces dans une cellule et, par exemple,
Un texte copié en cellule F5, se "propage" de F5 à F28 voire plus encore.

Je ramène tout ça dans une seule cellule par concaténer ou par &&&.
Mais voilà, mon fichier (+ de 50.000 lignes) est très lourd et depuis longtemps je me demandais pourquoi ?
(Alors que dans ma feuille, il n'y a aucune formule (elles sont dans mes codes) et donc que des valeurs.)

En testant dans tous les sens, je me suis aperçu que cette lourdeur provient de la copie des textes des annonces.

En effet, un classeurs avec seulement 5500 lignes à un poids de 3mégas.
Le même fichier en copiant directement les textes dans la barre de formule à un poids de - d'un méga.
D'où ma demande
Mon besoin est copier le texte directement dans la barre de formule,

Je n'arrive pas à faire un code qui exécute l'action de "coller"
dans la barre de formule pour la cellule choisie
(dans l'exemple B3)

le cheminement serait celui-ci :
- sur le site où est le texte à copier, sélection et copy
- double clic dans la cellule réceptrice et le code copie dans la barre de formule

Je joins un fichier test.
Avec mes remerciements,
Je vous souhaite à toutes et à tous un super WE
amicalement,
arthour973,
 

Pièces jointes

  • Coller_ds_barre_formule.xlsm
    11 KB · Affichages: 23
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Bonjour Youky, le Forum,

Je suis désolé pour hier mais je n'étais pas présent devant mon ordi.

Encore une fois merci Bruno pour ton code.
J'ai testé et ça ne fonctionne pas mais tu y es pour rien car je n'arrive pas à dire clairement ce que je veux faire LOL.

Ton 1er code :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
For k = 1 To [A65000].End(3).Row
tx = tx & Cells(k, 1)
Next
lig = Feuil4.[A65000].End(3).Row + 1
Feuil4.Cells(lig, 1) = tx
[A:A].ClearContents
End Sub

Toutefois, je pense m'en sortir si tu m'expliques ce que font les lignes :
For k = 1 To [A65000].End(3).Row (je pense avoir compris cette ligne : prend en compte toute la colonne A)
tx = tx & Cells(k, 1) C'est celui-là que je ne comprends pas

Je te remercie pour ta patience
Je vous souhaite à toutes et à tous une très belle journée,
Amicalement,
arthour973,
 

youky(BJ)

XLDnaute Barbatruc
Arthour bonjour,
[A65000].end(3).row renvoie le N° de la dernière ligne de col A
le For k boucle de ligne 1 à le dernière ligne
tx est une variable qui est utilisée pour stocker et ajouter cells(k,1) ici 1 est col A et k est le N° de ligne du For
J'aurais pu écrire cells(k,"A")
exemple tx si 1ere boucle tx=arthour et en 2eme boucle cells(lig,col)=973 tx=tx & cells(lig,col) donc ca donne arthour973
Bruno
 

Discussions similaires

Réponses
2
Affichages
561
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…