OVH Cloud OVH Cloud

Fonctionnement Macro

1 réponse
Avatar
Utilisateur1
Bonjour,
Dans le UserForm, il y à entre autre deux TextBox qui doivent chacune
remplir une page sur un signet. Je voudrais que les personns qui ont à
renseigner les TextBox ne remplissent que la première si le contenu est
identique, ce qui arrive le plus souvent. Pour cela, je voudrais dire : "Si
dans la 2ème TextBox il n'y a rien, mettre le contenu de la première sur les
deux signet, si la 2è contient du texte, mettre le texte de la 1è dans le
1er signet et le texte de la 2è dans l'autre.
Avec ce code, le 2è signet reçoit toujours le contenu de la première TextBox
(même quand la 2è TextBox est renseigné).
Quelqu'un peut-il me dire pourquoi ça ne marche pas ?
Merci
Jean-Pierre
Set LotsTranchesBdc = UserForm1
Dim NomRens, AdreRens, TelRens, ServDepot, AdresDepot
NomRens = LotsTranchesBdc.TextBox4.Value
AdreRens = LotsTranchesBdc.TextBox5.Value
TelRens = LotsTranchesBdc.TextBox6.Value
AdresDepot = LotsTranchesBdc.TextBox8.Value
ServDepot = LotsTranchesBdc.TextBox7.Value
Dim AdresseDepot
If AdresDepot.Text = Null Then
AdresseDepot.Text = AdreRens.Text
Else
AdresseDepot.Text = AdresDepot.Text
End If
Selection.GoTo wdGoToBookmark, , , "Adrens1"
Selection.TypeText Text:="Pour tout renseignement et consultation du cahier
des charges, s'adresser à :" & vbCrLf & NomRens
Selection.GoTo wdGoToBookmark, , , "Adrens2"
Selection.TypeText Text:=AdreRens
Selection.GoTo wdGoToBookmark, , , "Adrens3"
Selection.TypeText Text:=TelRens
Selection.GoTo wdGoToBookmark, , , "adrdep"
Selection.TypeText Text:=ServDepot & vbCrLf & AdresseDepot

J'espère qu'il ne manque rien, je n'ai copié de la macro que ce qui
concernait mon problème.

1 réponse

Avatar
Geo
Bonjour Jean-Pierre Utilisateur1

En indiquant les noms de tes textBox tu aurais facilité un peu la
lecture.
Bon je te dis tout de suite que je n'ai pas la réponse, mais en
utilisant des variables simples il me semble que ce serait plus facile
de suivre le déroulement en pas à pas et comprendre ce qui se passe.
Exemple :

Dim NomRens as string etc.

NomRens = LotsTranchesBdc.TextBox4.Value
AdreRens = LotsTranchesBdc.TextBox5.Value
TelRens = LotsTranchesBdc.TextBox6.Value
AdresDepot = LotsTranchesBdc.TextBox8.Value
ServDepot = LotsTranchesBdc.TextBox7.Value
Dim AdresseDepot as string
If len(AdresDepot) = 0 Then
AdresseDepot = AdreRens.

etc.

Au moins quand tu fais du pas à pas la bulle t'indique la valeur de
chaque variable et ça aide à comprendre ce qui se passe.

--

A+