Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Champ calculé dans userform

7 réponses
Avatar
Bruno RCSC
Bonsoir,

Win XP, Excel 2002

Je reprends une base de données de gestion de disques et CD.
J'ai réussi à créer (merci JB et tous les autres) un formulaire de saisie,
pardon un userform. Cela fonctionne.

Question : dans la base de données, j'ai un champ qui effectue une recherche
(=RECHERCHEV(F3;tablo_code;2))
A ce stade, je recopie la formule "manuellement".
Comment doit on procéder pour qu'il se calcule à l'issue de la saisie d'un
nouvel auteur ? J'ai crée le textbox mais après ?

Merci pour votre aide.

BH

7 réponses

Avatar
LSteph
Bonsoir,

dans le code du formulaire qui
restitue la saisie:

Calculate

Cordialement.

lSteph

Bonsoir,

Win XP, Excel 2002

Je reprends une base de données de gestion de disques et CD.
J'ai réussi à créer (merci JB et tous les autres) un formulaire de saisie,
pardon un userform. Cela fonctionne.

Question : dans la base de données, j'ai un champ qui effectue une recherche
(=RECHERCHEV(F3;tablo_code;2))
A ce stade, je recopie la formule "manuellement".
Comment doit on procéder pour qu'il se calcule à l'issue de la saisie d'un
nouvel auteur ? J'ai crée le textbox mais après ?

Merci pour votre aide.

BH




Avatar
Bruno RCSC
Bonjour,

Merci pour la réponse mais désolé, je n'ai pas compris.
Où dois je ajouter Calculate ?
Mon code :
Private Sub BoutonOK_Click()
Dim LigneSuivante As Long
Sheets("Liste complète").Activate
LigneSuivante = Application.WorksheetFunction.CountA(Range("B:B")) + 1
Cells(LigneSuivante, 1) = Prenom.Text
Cells(LigneSuivante, 2) = Nom1.Text
Si mon champ était un simple textbox, je rajouterais :
Cells(LigneSuivante, 8) = Code1.Text
Or, c'est ce champ qui fait appel à la formule recherche.

Puis je avoir un complément d'explication ?

Merci.

BH

"LSteph" a écrit dans le message de news:
uP3G$
Bonsoir,

dans le code du formulaire qui restitue la saisie:

Calculate

Cordialement.

lSteph

Bonsoir,

Win XP, Excel 2002

Je reprends une base de données de gestion de disques et CD.
J'ai réussi à créer (merci JB et tous les autres) un formulaire de
saisie, pardon un userform. Cela fonctionne.

Question : dans la base de données, j'ai un champ qui effectue une
recherche (=RECHERCHEV(F3;tablo_code;2))
A ce stade, je recopie la formule "manuellement".
Comment doit on procéder pour qu'il se calcule à l'issue de la saisie
d'un nouvel auteur ? J'ai crée le textbox mais après ?

Merci pour votre aide.

BH




Avatar
LSteph
Bonjour,
A priori, on ne voit rien hors ce petit bout de ton code, donc
je dirais précisément au moment où tu as entré les éléments nécessaires
à la formule .
Donc
'...
Cells(LigneSuivante, 1) = Prenom.Text
Cells(LigneSuivante, 2) = Nom1.Text
's'il n'y en a pas d'autres Là
'..

'lSteph
Bonjour,

Merci pour la réponse mais désolé, je n'ai pas compris.
Où dois je ajouter Calculate ?
Mon code :
Private Sub BoutonOK_Click()
Dim LigneSuivante As Long
Sheets("Liste complète").Activate
LigneSuivante = Application.WorksheetFunction.CountA(Range("B:B")) + 1
Cells(LigneSuivante, 1) = Prenom.Text
Cells(LigneSuivante, 2) = Nom1.Text
Si mon champ était un simple textbox, je rajouterais :
Cells(LigneSuivante, 8) = Code1.Text
Or, c'est ce champ qui fait appel à la formule recherche.

Puis je avoir un complément d'explication ?

Merci.

BH

"LSteph" a écrit dans le message de news:
uP3G$
Bonsoir,

dans le code du formulaire qui restitue la saisie:

Calculate

Cordialement.

lSteph

Bonsoir,

Win XP, Excel 2002

Je reprends une base de données de gestion de disques et CD.
J'ai réussi à créer (merci JB et tous les autres) un formulaire de
saisie, pardon un userform. Cela fonctionne.

Question : dans la base de données, j'ai un champ qui effectue une
recherche (=RECHERCHEV(F3;tablo_code;2))
A ce stade, je recopie la formule "manuellement".
Comment doit on procéder pour qu'il se calcule à l'issue de la saisie
d'un nouvel auteur ? J'ai crée le textbox mais après ?

Merci pour votre aide.

BH








Avatar
Bruno RCSC
Bonsoir,

Désolé Steph, mais cela ne fonctionne pas. Je me suis peut être mal exprimé.
Je recommence au cas où :
Ma base a 8 champs, 7 sont remplis à l'aide d'un userform, le 8 ème est une
formule de calcul.
Comment reporter la formule de calcul quand je saisis un nouvel
enregistrement ?

Peut être faut'il que je contourne le problème en faisant une recopie vers
le bas ?

Merci pour vos réponses.

BH

--
Bonjour,
A priori, on ne voit rien hors ce petit bout de ton code, donc
je dirais précisément au moment où tu as entré les éléments nécessaires à
la formule .
Donc
'...
Cells(LigneSuivante, 1) = Prenom.Text
Cells(LigneSuivante, 2) = Nom1.Text
's'il n'y en a pas d'autres Là
'..

'lSteph


--
Bonjour,

Merci pour la réponse mais désolé, je n'ai pas compris.
Où dois je ajouter Calculate ?
Mon code :
Private Sub BoutonOK_Click()
Dim LigneSuivante As Long
Sheets("Liste complète").Activate
LigneSuivante = Application.WorksheetFunction.CountA(Range("B:B")) +
1
Cells(LigneSuivante, 1) = Prenom.Text
Cells(LigneSuivante, 2) = Nom1.Text
Si mon champ était un simple textbox, je rajouterais :
Cells(LigneSuivante, 8) = Code1.Text
Or, c'est ce champ qui fait appel à la formule recherche.

Puis je avoir un complément d'explication ?

Merci.

BH

"LSteph" a écrit dans le message de news:
uP3G$
Bonsoir,

dans le code du formulaire qui restitue la saisie:

Calculate

Cordialement.

lSteph

Bonsoir,

Win XP, Excel 2002

Je reprends une base de données de gestion de disques et CD.
J'ai réussi à créer (merci JB et tous les autres) un formulaire de
saisie, pardon un userform. Cela fonctionne.

Question : dans la base de données, j'ai un champ qui effectue une
recherche (=RECHERCHEV(F3;tablo_code;2))
A ce stade, je recopie la formule "manuellement".
Comment doit on procéder pour qu'il se calcule à l'issue de la saisie
d'un nouvel auteur ? J'ai crée le textbox mais après ?

Merci pour votre aide.

BH









Avatar
LSteph
Bonsoir,

Alors effectivement, ce n'est absolument pas ce que j'avais compris!
Comment doit on procéder pour qu'il se calcule


je croyais que tu étais en mode sur Ordre et que tu devais calculer en
cas d'entrée de données via ce userform une formule déjà placée.

donc si j'ai bien compris:


with Cells(LigneSuivante, 8)
.FormulaR1C1 = .Offset(-1, 0).FormulaR1C1
End With


Cordialement

lSteph

Bonsoir,

Désolé Steph, mais cela ne fonctionne pas. Je me suis peut être mal exprimé.
Je recommence au cas où :
Ma base a 8 champs, 7 sont remplis à l'aide d'un userform, le 8 ème est une
formule de calcul.
Comment reporter la formule de calcul quand je saisis un nouvel
enregistrement ?

Peut être faut'il que je contourne le problème en faisant une recopie vers
le bas ?

Merci pour vos réponses.

BH



Avatar
Bruno RCSC
Super, bravo et merci.

Sans abuser, pouvez me "traduire" la signification de .FormulaR1C1 ?

BH

--
Bonsoir,

Alors effectivement, ce n'est absolument pas ce que j'avais compris!
Comment doit on procéder pour qu'il se calcule


je croyais que tu étais en mode sur Ordre et que tu devais calculer en cas
d'entrée de données via ce userform une formule déjà placée.

donc si j'ai bien compris:


with Cells(LigneSuivante, 8)
.FormulaR1C1 = .Offset(-1, 0).FormulaR1C1
End With


Cordialement

lSteph

Bonsoir,

Désolé Steph, mais cela ne fonctionne pas. Je me suis peut être mal
exprimé.
Je recommence au cas où :
Ma base a 8 champs, 7 sont remplis à l'aide d'un userform, le 8 ème est
une formule de calcul.
Comment reporter la formule de calcul quand je saisis un nouvel
enregistrement ?

Peut être faut'il que je contourne le problème en faisant une recopie
vers le bas ?

Merci pour vos réponses.

BH





Avatar
LSteph
Cela signifie formule mais en tenant compte
des indices de ligne et de colonne R Row C Column

Cordialement.

lSteph



Super, bravo et merci.

Sans abuser, pouvez me "traduire" la signification de .FormulaR1C1 ?

BH