4D Write Pro et copier/coller depuis Excel

Salut à tous,

J’ai un soucis avec du texte copié depuis un tableur Excel.

Quand on colle le texte copié depuis plusieurs cellules d’un tableur excel, cela crée un espèce de paragraphe (ou tableau ?) dont je ne peux changer la largeur. (cf image)

[]32512991;""[/]

Donc, 2 questions :

  • avez-vous une idée sur comment retailler cette “colonne” ?
  • y-a-t’il un moyen de faire un coller sans mise en forme ?

Actuellement, j’ai dû demander à l’utilisateur de coller sans mise en forme dans TextEdit puis de recopier/coller dans 4D Write Pro.

Bonjour

Interessant comme problème; En effet, quand on colle depuis excel, 4D Write Pro insère un tableau.
Pour info, les largeurs des colonnes ne seront modifiable “à la main” qu’à partir de la v18 (déjà en Béta test)

Cela dit pour répondre à votre question voila un bout de code qui devrait vous aider (à appeler à partir d’un menu ou d’un bouton “Paste raw text”. Je l’ai écrit et testé rapidement à l’instant :slight_smile:

Quelques condition préalables :

  • La zone DOIT avoir le focus (pour que le INVOKE ACTION fonctionne) au moment de l’appel
  • (attention, aux boutons qui peuvent etre focusables et prendre le focus donc !)
  • vérifier le nom de la zone ainsi que le nom de la variable associée)

CODE V17

<code 4D>
$userSel:=WP Get selection(*;“WParea”)
$memoStart:=$userSel.start

INVOKE ACTION(ak paste)

$userSel:=WP Get selection(*;“WParea”)
$memoEnd:=$userSel.end

$textRange:=WP Create range(WParea;$memoStart;$memoEnd)

$text:=WP Get text($textRange)

WP SET TEXT($textRange;$text;wk replace)
</code 4D>

CODE V18 (deux commande renommées)

<code 4D>
$userSel:=WP Selection range(*;“WParea”)
$memoStart:=$userSel.start

INVOKE ACTION(ak paste)

$userSel:=WP Selection range(*;“WParea”)
$memoEnd:=$userSel.end

$textRange:=WP Text range(WParea;$memoStart;$memoEnd)

$text:=WP Get text($textRange)

WP SET TEXT($textRange;$text;wk replace)
</code 4D>

Cordialement

Roland Lannuzel

Merci beaucoup !!!

Bonjour Jayce,

Merci à vous d’avoir posé la question sur le forum…
Si ce code peut servir à d’autres, c’est parfait !

Merci de votre retour en tout cas.

Cordialement,
Roland Lannuzel