Bonsoir Yann et Antoine,
Question intéressante...
Voici ma suggestion :
1 - Tester le contenu du TextBox
2 - S'il a été modifié :
3 - Voir si le classeur destinataire est ouvert
Si oui : Passer le contenu du TextBox à la cellule de destination
Si non : Ouvrir le classeur, mettre à jour, enregistrer et fermer.
En code VBA :
'Déclaration d'une variable en code général
Dim MonTexte As String
Private Sub TextBox1_GotFocus()
MonTexte = TextBox1.Text
End Sub
Private Sub TextBox1_LostFocus()
If TextBox1.Text <> MonTexte Then
Dim WB As Workbook
Dim Ouvert As Boolean
For Each WB In Workbooks
If WB.Name = "Classeur2.xls" Then
'Le classeur est ouvert
WB.Sheets("Feuil1").Range("A2").Value = TextBox1.Text
Ouvert = True
End If
Next
If Ouvert = False Then
'Ouvrir le classeur, modifier, sauvegarder et fermer
Workbooks.Open "c:\Chemin\Classeur2.xls"
Workbooks("Classeur2.xls").Sheets("Feuil1").Range("A2").Value = TextBox1.Text
Workbooks("Classeur2.xls").Save
Workbooks("Classeur2.xls").Close
End If
End If
End Sub
Y a-t-il plus simple ?
A+
LN