Microsoft 365 copier le contenu d'une cellule dans mon textbox

Usine à gaz

XLDnaute Barbatruc
Bonsoir à toutes et à tous,

je suis toujours sur mon nouveau fichier de travail et j'ai un besoin que je ne parviens pas à résoudre.

Mon besoin :
En Feuille "Appels"
Pour éviter de perdre du temps en saisie de commentaires dans ma feuille "Appel" en colonne L, j'ai créé ce qui deviendra un recueil de libellés prédéfinis.

- Quand clic sur la cellule de la colonne K, avant d'ouvrir mon textbox1, j'ouvre la feuille "Table",
- Quand je clique sur un commentaire prédéfini, la cellule est copiée et mon textbox1 s'ouvre,
- Je souhaite donc que le contenu de la cellule copiée de "Table" soit collé dans mon textbox que je valide ensuite par "Entrée".
Et lol, comme d'habitude, je ne sais pas faire et malgré mes recherches, je n'ai pas encore trouvé.
Auriez-vous la solution ?
En attendant, je continue mes recherches.
Je joins le fichier test,
Avas mes remerciements,
Amicalement,
lionel :)
 

Pièces jointes

  • Info copie autre feuille.xlsm
    97.8 KB · Affichages: 12
Solution
Essayez cette PJ.
J'ai modifié Worksheet_SelectionChange de la feuille Table, ça strappe l'USF avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Range(Cells(1, 14), Cells(1, 1)).Select
    ActiveWindow.Zoom = True 'ActiveWindow.Zoom = 114

If Not Intersect(R, Range("b4:b30")) Is Nothing Then
    R.Copy
    [a1].Select
    Sheets("Appels").Select
    ' Modif transfert automatique
    If R <> "" Then
        ActiveCell.Offset(0, 1) = Format(Now, "dd-mm-yy hh:mm") & " : " & R & " - " & Chr(10) & ActiveCell.Offset(0, 1).Value
    End If
End If
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
Dans Worksheet_SelectionChange de table, ajoutez Commentaire.TextBox1 = R :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Range(Cells(1, 14), Cells(1, 1)).Select
    ActiveWindow.Zoom = True 'ActiveWindow.Zoom = 114

If Not Intersect(R, Range("b4:b30")) Is Nothing Then
    R.Copy
    [a1].Select
    Sheets("Appels").Select
    Commentaire.TextBox1 = R
    Commentaire.Show
    'selection.paste
    'Me.TextBox1 = GetOffClipboard

End If
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
 

Usine à gaz

XLDnaute Barbatruc
Re-Bonjour ou bonsoir,

Je reviens sur le sujet pour automatiser un maximum :)
@sylvanu :
La validation du textbox se fait en cliquant sur "Entrée",
Serait-il possible de valider automatiquement en utilisant :
CreateObject("wscript.shell").SendKeys "%{ENTER}"

Ce serait super bien.
Je remets le fichier ... en cas lol :)
Merci encore une fois,
lionel,
 

Pièces jointes

  • Info copie autre feuille.xlsm
    121.9 KB · Affichages: 6

Usine à gaz

XLDnaute Barbatruc
Bonsoir Sylvanu,

Merci d'être encore là :)
L'intérêt du textbox, à moins que je n'ai pas tout compris, c'est de pouvoir saisir un texte et de l'envoyer "direct" en ajout du contenu existant, mais si on pàeut faire la même chose en Uf ... pourquoi pas mais je ne sais pas faire :)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Ce que je ne comprends pas c'est que vous voulez vous passer du Enter, donc avec un Enter automatique. Dans ce cas l'utilisateur n'a plus rien à faire, il ne peut même plus modifier le commentaire.
Quand il clique sur le texte de table, le commentaire est envoyé dans l'USF et en automatique est validé, à quoi sert l'USF ? Ca veut dire que l'utilisateur ne peut plus ni modifier ni annuler la commande.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Essayez cette PJ.
J'ai modifié Worksheet_SelectionChange de la feuille Table, ça strappe l'USF avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Range(Cells(1, 14), Cells(1, 1)).Select
    ActiveWindow.Zoom = True 'ActiveWindow.Zoom = 114

If Not Intersect(R, Range("b4:b30")) Is Nothing Then
    R.Copy
    [a1].Select
    Sheets("Appels").Select
    ' Modif transfert automatique
    If R <> "" Then
        ActiveCell.Offset(0, 1) = Format(Now, "dd-mm-yy hh:mm") & " : " & R & " - " & Chr(10) & ActiveCell.Offset(0, 1).Value
    End If
End If
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
 

Pièces jointes

  • Info copie autre feuille (3).xlsm
    90.8 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
313 243
Messages
2 096 509
Membres
106 644
dernier inscrit
7frd5