OVH Cloud OVH Cloud

H-S Remerciements

3 réponses
Avatar
jacques-zeziola
Le forum,

Je tiens a remercier, tous ceux qui m'on aidé pour cette procédure
pour ajouter un cableur dans un textbox d'un UserForm en second plan
(Non fermé)dont le message était "Argument non valide ".

Je site :

Michel GABOLY, Michel DENIS, Jacques CHAUSSARD et Hervé.

En faite dans ce Userform "Résultat", je voulais remplire une TextBox
par l'intermédiaire d'un UserForm "AjoutCableurs".
Ce qu'il se passait c'est que celui-ci était bien rempli, mais dés que
je revenais sur lui pour valider les modifications, ces données
s'éffacées.

Donc j'avais une procédure qui remplissait les différent TextBox et
ComboBox dans Private Sub UserForm_Activate(), que j'ai supprimé et
mis dans Private Sub UserForm_Initialize()




ActiveCell.EntireRow.Select

RésultatArchives.TextBox1.Value = ActiveCell.Offset(0, 1).Value
'TexteBox Référence produit
RésultatArchives.TextBox2.Value = ActiveCell.Offset(0, 3).Value
'TextBox Désignation produit
RésultatArchives.TextBox3.Value = ActiveCell.Offset(0, 5).Value
'TextBox date d'enregistrement
RésultatArchives.TextBox4.Value = ActiveCell.Offset(0, 7).Value
'TextBox Nom & Prénom
RésultatArchives.TextBox5.Value = ActiveCell.Offset(0, 4).Value
'TextBox N° de casier
RésultatArchives.TextBox10.Value = ActiveCell.Offset(0, 8).Value
'TextBox Cableurs susceptible de faire le produit
RésultatArchives.TextBox11.Value = ActiveCell.Offset(0, 2).Value
'TextBox Version
RésultatArchives.ComboBox1.Value = ActiveCell.Offset(0, 6).Value
'ComboBox N° de Matricule


Par contre je plante vraiment sur cette procédure dont le message est
"Suppression de photo ".

Voila merci encore, Jacques.

3 réponses

Avatar
Michel Gaboly
De rien ;-))

1 - Pense aux With ... End With, le code obtenu est bien + concis et
+ lisible :

2 - Evite les Select autant que possible, en général, cela ralentit le code
pour rien.

3 - Evite le nom du UserForl pour qualifier les contrôles si tu es dans
le module du UserForm (j'ai supposé que RésultatArchives est le nom du
UserForm contenant les TextBox)

4 - Evite .Value pour récupérer la valeur d'une cellule, ca r c'est la
propriété par défaut d'un objet Range. Idem pour un TexBox ou un
ComboBox

Le code ci-dessous devient

With ActiveCell
.EntireRow.Select ' probablement superflu
TextBox1 = .Offset(0, 1) ' Référence produit
TextBox2 = .Offset(0, 3). ' Désignation produit
TextBox3 = .Offset(0, 5) ' Date d'enregistrement
TextBox4 = .Offset(0, 7) ' Nom & Prénom
TextBox5 = .Offset(0, 4) ' N° de casier
TextBox10 = .Offset(0, 8) ' Cableurs susceptible de faire le produit
TextBox11 = .Offset(0, 2) ' Version
ComboBox1 = .Offset(0, 6) ' N° de Matricule
End With

N'est-ce pas plus simple ?

5 - Nomme clairement les contrôles. Ils servitont d'autocommentaire :

With ActiveCell
.EntireRow.Select
TRef = .Offset(0, 1)
TDesignation = .Offset(0, 3).
TDateEnregistr = .Offset(0, 5)
TNomPrenom = .Offset(0, 7)
TNumCasier= .Offset(0, 4)
TCabkleurs = .Offset(0, 8)
TeVersion = .Offset(0, 2)
CNumMat = .Offset(0, 6)
End With

Qu'en penses-tu ? C'est beucoup + facile à lire, à debugguer et à modifier.

Dernier conseil. Sépare le nom et le prénom, cela peut servir pour des tris
éventuels/


Le forum,

Je tiens a remercier, tous ceux qui m'on aidé pour cette procédure
pour ajouter un cableur dans un textbox d'un UserForm en second plan
(Non fermé)dont le message était "Argument non valide ".

Je site :

Michel GABOLY, Michel DENIS, Jacques CHAUSSARD et Hervé.

En faite dans ce Userform "Résultat", je voulais remplire une TextBox
par l'intermédiaire d'un UserForm "AjoutCableurs".
Ce qu'il se passait c'est que celui-ci était bien rempli, mais dés que
je revenais sur lui pour valider les modifications, ces données
s'éffacées.

Donc j'avais une procédure qui remplissait les différent TextBox et
ComboBox dans Private Sub UserForm_Activate(), que j'ai supprimé et
mis dans Private Sub UserForm_Initialize()

ActiveCell.EntireRow.Select

RésultatArchives.TextBox1.Value = ActiveCell.Offset(0, 1).Value
'TexteBox Référence produit
RésultatArchives.TextBox2.Value = ActiveCell.Offset(0, 3).Value
'TextBox Désignation produit
RésultatArchives.TextBox3.Value = ActiveCell.Offset(0, 5).Value
'TextBox date d'enregistrement
RésultatArchives.TextBox4.Value = ActiveCell.Offset(0, 7).Value
'TextBox Nom & Prénom
RésultatArchives.TextBox5.Value = ActiveCell.Offset(0, 4).Value
'TextBox N° de casier
RésultatArchives.TextBox10.Value = ActiveCell.Offset(0, 8).Value
'TextBox Cableurs susceptible de faire le produit
RésultatArchives.TextBox11.Value = ActiveCell.Offset(0, 2).Value
'TextBox Version
RésultatArchives.ComboBox1.Value = ActiveCell.Offset(0, 6).Value
'ComboBox N° de Matricule

Par contre je plante vraiment sur cette procédure dont le message est
"Suppression de photo ".

Voila merci encore, Jacques.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
jacques-zeziola
Michel,

Merci pour tes conseils, ils sont les bienvenues, je vais faire de mon
mieux pour réorganiser tout cela.

Bravo pour ton site.

Bon week-end, Jacques


Michel Gaboly wrote in message news:...
De rien ;-))

1 - Pense aux With ... End With, le code obtenu est bien + concis et
+ lisible :

2 - Evite les Select autant que possible, en général, cela ralentit le code
pour rien.

3 - Evite le nom du UserForl pour qualifier les contrôles si tu es dans
le module du UserForm (j'ai supposé que RésultatArchives est le nom du
UserForm contenant les TextBox)

4 - Evite .Value pour récupérer la valeur d'une cellule, ca r c'est la
propriété par défaut d'un objet Range. Idem pour un TexBox ou un
ComboBox

Le code ci-dessous devient

With ActiveCell
.EntireRow.Select ' probablement superflu
TextBox1 = .Offset(0, 1) ' Référence produit
TextBox2 = .Offset(0, 3). ' Désignation produit
TextBox3 = .Offset(0, 5) ' Date d'enregistrement
TextBox4 = .Offset(0, 7) ' Nom & Prénom
TextBox5 = .Offset(0, 4) ' N° de casier
TextBox10 = .Offset(0, 8) ' Cableurs susceptible de faire le produit
TextBox11 = .Offset(0, 2) ' Version
ComboBox1 = .Offset(0, 6) ' N° de Matricule
End With

N'est-ce pas plus simple ?

5 - Nomme clairement les contrôles. Ils servitont d'autocommentaire :

With ActiveCell
.EntireRow.Select
TRef = .Offset(0, 1)
TDesignation = .Offset(0, 3).
TDateEnregistr = .Offset(0, 5)
TNomPrenom = .Offset(0, 7)
TNumCasier= .Offset(0, 4)
TCabkleurs = .Offset(0, 8)
TeVersion = .Offset(0, 2)
CNumMat = .Offset(0, 6)
End With

Qu'en penses-tu ? C'est beucoup + facile à lire, à debugguer et à modifier.

Dernier conseil. Sépare le nom et le prénom, cela peut servir pour des tris
éventuels/


Le forum,

Je tiens a remercier, tous ceux qui m'on aidé pour cette procédure
pour ajouter un cableur dans un textbox d'un UserForm en second plan
(Non fermé)dont le message était "Argument non valide ".

Je site :

Michel GABOLY, Michel DENIS, Jacques CHAUSSARD et Hervé.

En faite dans ce Userform "Résultat", je voulais remplire une TextBox
par l'intermédiaire d'un UserForm "AjoutCableurs".
Ce qu'il se passait c'est que celui-ci était bien rempli, mais dés que
je revenais sur lui pour valider les modifications, ces données
s'éffacées.

Donc j'avais une procédure qui remplissait les différent TextBox et
ComboBox dans Private Sub UserForm_Activate(), que j'ai supprimé et
mis dans Private Sub UserForm_Initialize()

ActiveCell.EntireRow.Select

RésultatArchives.TextBox1.Value = ActiveCell.Offset(0, 1).Value
'TexteBox Référence produit
RésultatArchives.TextBox2.Value = ActiveCell.Offset(0, 3).Value
'TextBox Désignation produit
RésultatArchives.TextBox3.Value = ActiveCell.Offset(0, 5).Value
'TextBox date d'enregistrement
RésultatArchives.TextBox4.Value = ActiveCell.Offset(0, 7).Value
'TextBox Nom & Prénom
RésultatArchives.TextBox5.Value = ActiveCell.Offset(0, 4).Value
'TextBox N° de casier
RésultatArchives.TextBox10.Value = ActiveCell.Offset(0, 8).Value
'TextBox Cableurs susceptible de faire le produit
RésultatArchives.TextBox11.Value = ActiveCell.Offset(0, 2).Value
'TextBox Version
RésultatArchives.ComboBox1.Value = ActiveCell.Offset(0, 6).Value
'ComboBox N° de Matricule

Par contre je plante vraiment sur cette procédure dont le message est
"Suppression de photo ".

Voila merci encore, Jacques.




Avatar
Michel Gaboly
Re,

De rien, et merci pour l'appréciation sur le site, ;-)) qui aurait bien
besoin d'une mise à jour. -;(((



Michel,

Merci pour tes conseils, ils sont les bienvenues, je vais faire de mon
mieux pour réorganiser tout cela.

Bravo pour ton site.

Bon week-end, Jacques

Michel Gaboly wrote in message news:...
De rien ;-))

1 - Pense aux With ... End With, le code obtenu est bien + concis et
+ lisible :

2 - Evite les Select autant que possible, en général, cela ralentit le code
pour rien.

3 - Evite le nom du UserForl pour qualifier les contrôles si tu es dans
le module du UserForm (j'ai supposé que RésultatArchives est le nom du
UserForm contenant les TextBox)

4 - Evite .Value pour récupérer la valeur d'une cellule, ca r c'est la
propriété par défaut d'un objet Range. Idem pour un TexBox ou un
ComboBox

Le code ci-dessous devient

With ActiveCell
.EntireRow.Select ' probablement superflu
TextBox1 = .Offset(0, 1) ' Référence produit
TextBox2 = .Offset(0, 3). ' Désignation produit
TextBox3 = .Offset(0, 5) ' Date d'enregistrement
TextBox4 = .Offset(0, 7) ' Nom & Prénom
TextBox5 = .Offset(0, 4) ' N° de casier
TextBox10 = .Offset(0, 8) ' Cableurs susceptible de faire le produit
TextBox11 = .Offset(0, 2) ' Version
ComboBox1 = .Offset(0, 6) ' N° de Matricule
End With

N'est-ce pas plus simple ?

5 - Nomme clairement les contrôles. Ils servitont d'autocommentaire :

With ActiveCell
.EntireRow.Select
TRef = .Offset(0, 1)
TDesignation = .Offset(0, 3).
TDateEnregistr = .Offset(0, 5)
TNomPrenom = .Offset(0, 7)
TNumCasier= .Offset(0, 4)
TCabkleurs = .Offset(0, 8)
TeVersion = .Offset(0, 2)
CNumMat = .Offset(0, 6)
End With

Qu'en penses-tu ? C'est beucoup + facile à lire, à debugguer et à modifier.

Dernier conseil. Sépare le nom et le prénom, cela peut servir pour des tris
éventuels/


Le forum,

Je tiens a remercier, tous ceux qui m'on aidé pour cette procédure
pour ajouter un cableur dans un textbox d'un UserForm en second plan
(Non fermé)dont le message était "Argument non valide ".

Je site :

Michel GABOLY, Michel DENIS, Jacques CHAUSSARD et Hervé.

En faite dans ce Userform "Résultat", je voulais remplire une TextBox
par l'intermédiaire d'un UserForm "AjoutCableurs".
Ce qu'il se passait c'est que celui-ci était bien rempli, mais dés que
je revenais sur lui pour valider les modifications, ces données
s'éffacées.

Donc j'avais une procédure qui remplissait les différent TextBox et
ComboBox dans Private Sub UserForm_Activate(), que j'ai supprimé et
mis dans Private Sub UserForm_Initialize()

ActiveCell.EntireRow.Select

RésultatArchives.TextBox1.Value = ActiveCell.Offset(0, 1).Value
'TexteBox Référence produit
RésultatArchives.TextBox2.Value = ActiveCell.Offset(0, 3).Value
'TextBox Désignation produit
RésultatArchives.TextBox3.Value = ActiveCell.Offset(0, 5).Value
'TextBox date d'enregistrement
RésultatArchives.TextBox4.Value = ActiveCell.Offset(0, 7).Value
'TextBox Nom & Prénom
RésultatArchives.TextBox5.Value = ActiveCell.Offset(0, 4).Value
'TextBox N° de casier
RésultatArchives.TextBox10.Value = ActiveCell.Offset(0, 8).Value
'TextBox Cableurs susceptible de faire le produit
RésultatArchives.TextBox11.Value = ActiveCell.Offset(0, 2).Value
'TextBox Version
RésultatArchives.ComboBox1.Value = ActiveCell.Offset(0, 6).Value
'ComboBox N° de Matricule

Par contre je plante vraiment sur cette procédure dont le message est
"Suppression de photo ".

Voila merci encore, Jacques.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com