Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/08/2011, 16h31   #1
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Par défaut Copier Coller en VBA: Pb d'insertion involontaire ligne blanche

Bonjour
Je veux copier un Champ Mémo Texte Enrichi avec un Bouton
et le Coller ailleurs avec un autre Bouton (dans un champ Mémo Texte Enrichi)

Problèmes:
1° cas) Copier Champ Père :le Texte est bien sélectionné
mais dans la destination,une ligne blanche est systématiquement ajoutée après le Texte

2°Cas) dans le champ père, j'ajoute maintenant 2 lignes vides à la suite du texte;dans la Destination ces 2 lignes vides sont recopiées

Le code est prévu pour ne copier QUE le texte pas vrai?

Je ne trouve pas pourquoi j'ai: soit une ligne blanche involontaire
soit une recopie des lignes blanches.

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub B_Copy_Click()
 
Me.Description.SetFocus
Me.Description.SelStart = 0
Me.Description.SelLength = Len(Description.Text)
 
MsgBox Me.Description ' pour voir en situation
 
DoCmd.RunCommand acCmdCopy
 
End Sub
Code :
1
2
3
4
5
6
7
8
9
10
Private Sub B_Coller_Click()
 
'Coller from Presse Papier
 
    Me.Description.SetFocus 'le champ de destination dans un autre formulaire
    DoCmd.RunCommand acCmdPaste
    'Repositionne le Curseur en Début de Champ
    Me.Description.SelStart = 0
 
End Sub
Bon dimanche
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2011, 16h49   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Bonjour,

Le copier/coller fait passer l'information par le presse-papier windows. Celui-ci opére des transformations de genre et peu donc dans certains cas ajouter des caractères de controles comme un saut de ligne.

Tu peux facilement modifier cela en utilisant un

Code :
Replace(champ,vbcrlf,"")
qui remplacera les retour chariot + saut de ligne pas un rien.

C'est une piste à exploiter et non une solution testée. Merci de nous faire part des observations.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2011, 22h06   #3
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Par défaut le problème persiste sur Coller

Merci Loufab pour ta suggestion

Voici les 3 lignes du Champ Mémo Texte Enrichi à copier:
Maitre corbeau
Sur un arbre perché
Tenait dans son bec

J'ai fait un essais sur B_Coller considérant que le presse papier posait problème

Code :
Replace(Description, vbCrLf, "")
mais rien n'a changé
Résultat à l'impression:

Maitre corbeau
Sur un arbre perché
Tenait dans son bec
ligne vide


alors j'ai remplacé vbCrLf par X pour voir


Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub B_Coller_Click()
 
'Coller from Presse Papier
 
    Me.Description.SetFocus 'le champ de destination
    DoCmd.RunCommand acCmdPaste
 
Me.Recalc 'pour éviter le Null
Me.Description = Replace(Description, vbCrLf, "X")
 
End Sub
Résultat à l'Impression:

Maitre corbeau
XX
Sur un arbre perché
XX
Tenait dans son bec
XX
ligne vide

Conclusion:
2 fois X intercalé entre les lignes
+toujours ma ligne vide

Bien, je vais dans mon champ destination et fais une fois la touche Suppr

Maitre corbeau
Sur un arbre perché
Tenait dans son becSuppr ici contre le "c"

et là, nickel à l'impression, pas de ligne vide en sus

Je ne vois pas ce qui se passe Je vais faire un essais idem mais sur un champ Mémo Texte (pas Enrichi)

Bonne soirée
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2011, 00h35   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 086
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 086
Points : 11 622
Points : 11 622
Apparement il ne s'agit pas d'un vbcrlf.

Mon conseil :

Pour connaitre le caractère qui provoque ce saut de ligne (vblf peut-être ?) utilise un éditeur du type Notepad ++ ou encore créé utilise ASC() pour connaitre sa valeur Ascii. Une fois que tu l'auras tu pourras la traiter.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/08/2011, 10h23   #5
Membre du Club
 
beauchat symba
Inscription : janvier 2010
Messages : 95
Détails du profil
Informations personnelles :
Nom : beauchat symba

Informations forums :
Inscription : janvier 2010
Messages : 95
Points : 50
Points : 50
Par défaut solution temporaire

Bonjour
Merci loufab pour ton conseil

J'ai rapidement refait le même test en supprimant Texte Enrichi de mon champ Mémo
En Mémo Texte Brut ça fonctionne parfaitement
Et ça me convient.... pour l'instant
Je ne connais donc pas la cause réelle du problème
J'y reviendrai plus tard

Cordialement
symbabeauchat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h54.


 
 
 
 
Partenaires

Hébergement Web