Option Explicit
Private Sub UserForm_Initialize()
Dim d As DocumentProperty, c As Control
With ThisWorkbook
For Each d In .CustomDocumentProperties
For Each c In Me.Controls
If c.Name = d.Name Then c.Value = d.Value: Exit For
Next c
Next d
End With
End Sub
Private Sub UserForm_Terminate()
Dim d As DocumentProperty, c As Control, i As Byte
With ThisWorkbook
For Each d In .CustomDocumentProperties
For Each c In Me.Controls
If c.Name = d.Name Then d.Delete: Exit For
Next c
Next d
End With
For i = 1 To 3
With Me.Controls("TextBox" & i)
ThisWorkbook.CustomDocumentProperties.Add .Name, False, msoPropertyTypeString, .Value
End With
Next i
End Sub
Normal que ca bogue, dans les propriétés personnalisées de ton classeur il y en a 3 nommées TextBox1, TextBox2 et TextBox3 et pas de contrôles dans ton USF avec ces noms...
es que c possible- quand je clic sur le bouton recherche record si le contenu du label change je doit lancer la macro "mamacro1"
même principe à appliquer.... comme dit plus haut, peut être nettoyer les propriétés du classeur ... et regarde le nouveau code avec tests.... je pense que tu as tous les codes nécessaire pour parvenir à tes fins...le problème et que moi c des label que j'utilise et c sa qui fais bogue
je pense que c a se niveaux qu'il faut regarder
Option Explicit
Private Sub UserForm_Initialize()
Dim d As DocumentProperty, c As Control
With ThisWorkbook
For Each d In .CustomDocumentProperties
For Each c In Me.Controls
If c.Name = d.Name Then c.Caption = d.Value: Exit For
Next c
Next d
End With
End Sub
Private Sub UserForm_Terminate()
Dim d As DocumentProperty, c As Control, i As Byte
With ThisWorkbook
For Each d In .CustomDocumentProperties
For Each c In Me.Controls
If c.Name = d.Name Then d.Delete: Exit For
Next c
Next d
End With
For i = 1 To 3
With Me.Controls("Label" & i)
ThisWorkbook.CustomDocumentProperties.Add .Name, False, msoPropertyTypeString, .Caption
End With
Next i
End Sub
If c.Name = d.Name Then c.Caption = d.Caption : Exit For
If c.Name = d.Name Then c.Caption = d.Value: Exit For
comment faire pour lancer une macro si la valeur du label change
Sub import_données_mini_maxi()
Dim myDir$, fn$, txt$, sepa$, A(), N As Long, I As Long, ff As Integer
sepa = ";"
myDir = UserForm.Données_minimaxi_txt.Value
fn = Dir(myDir & "dayfile.txt")
Do While fn <> ""
ff = FreeFile
Open myDir & fn For Input As #ff
Do While Not EOF(ff)
Line Input #ff, txt
N = N + 1: ReDim Preserve A(1 To N)
A(N) = Split(txt, sepa)
Loop
Close #ff
fn = Dir()
Loop
With Worksheets("données_mini_maxi").[A2]
For I = 1 To N
.Offset(I - 1).Resize(, UBound(A(I)) + 1).Value = A(I)
Next
End With
Call Feuil4.format1
End Sub
Sub recordA1()
maxi = -1000
For n = 2 To Sheets("Données_mini_maxi").Range("C65000").End(xlUp).Row
If Sheets("Données_mini_maxi").Range("g" & n) > maxi Then
maxi = Sheets("Données_mini_maxi").Range("g" & n)
ligne = n
End If
Next n
x = Sheets("Données_mini_maxi").Range("G" & ligne).Value & " °C le " & format(Sheets("Données_mini_maxi").Range("A" & ligne).Value, "dddd d mmmm yyyy") & " à " & format(Sheets("Données_mini_maxi").Range("H" & ligne).Value, "hh:mm")
UserForm2.Record_1.Caption = x
End Sub
c vrai que c pas marqué dans le tirebonjours a tous
je voudrai savoir comment faire pour garde un mémoire le contenu d'un label ( ici record_1) sans passe par une feuille excel
et lancer une macro si et le contenu change
UserForm2.Record_1.Caption = x
TaMacro
End Sub