OVH Cloud OVH Cloud

[VBA] Remplir une Base de Données

18 réponses
Avatar
Péhemme
Bonsoir à Toutes et à Tous,

Je souhaite récupérer des informations (date, numéro et nom) saisies dans
des TxtBoxes à l'intérieur d'une Frame le tout sur une UserForm.
La "recopie" ne fonctionne pas.
Qu'oublie-je ?
J'ai écrit :

Sub NouvelleInscription()
Dim R As Long
'Détermine la hauteur de la base de données
With Sheets("Base de Données")
R = .Range("f65536").End(xlUp).Row + 1
If R < 8 Then R = 8
End With
MsgBox R
'Jusque là, cela fonctionne, c'est la recopie (code suivant) qui bloque.
With Sheets("Base de Données")
.Range("b" & R).Value = txtDateCréat.Value
.Range("e" & R).Value = txtNuméroIncrip.Value
.Range("f" & R).Value = txtNomEnf.Value
End With
End Sub

Merci d'avance de votre aide

Michel (le seul qui s'accroche)

8 réponses

1 2
Avatar
sabatier
salut péroche, le seul qui s'accroche
dis-moi, les modules dont tu parles pour Valider et pour Quit sont dans le
même classeur?
si oui, je ne vois pas pourquoi ça foire mais il m'arrive moi aussi d'écrire
la proc dans le code du bouton....peu importe le flacon, michel, pourvu
qu'on ait le daurès...
jps

"Péhemme" a écrit dans le message de
news:418bddc3$0$15924$
Bonsoir à Toutes et à Tous,

Merci encore à Claude et Patrick pour les aides et commentaires.

Je pense avoir découvert l'origine des mon problème.
Le code du bouton "Valider" situé sur la Usf était un appel d'une macro
placé dans un module.
La même macro rédigée directement dans le code du bouton fonctionne
parfaitement.
En revanche, je ne rencontre pas ce problème pour le bouton "Quitter" qui
appelle bien la macro "Quit" écrite dans un module.
Quelqu'un a-t-il déjà rencontré ce même phénomène ?

Bien amicalement.

Michel (Le seul qui s'accroche)


"Péhemme" a écrit dans le message de news:
418bb8ed$0$18866$
Bonsoir à Toutes et à Tous,

Je souhaite récupérer des informations (date, numéro et nom) saisies
dans


des TxtBoxes à l'intérieur d'une Frame le tout sur une UserForm.
La "recopie" ne fonctionne pas.
Qu'oublie-je ?

Sub NouvelleInscription()
Dim R As Long
'Détermine la hauteur de la base de données
With Sheets("Base de Données")
R = .Range("f65536").End(xlUp).Row + 1
If R < 8 Then R = 8
End With
MsgBox R
'Jusque là, cela fonctionne, c'est la recopie (code suivant) qui bloque.
With Sheets("Base de Données")
.Range("b" & R).Value = txtDateCréat.Value
.Range("e" & R).Value = txtNuméroIncrip.Value
.Range("f" & R).Value = txtNomEnf.Value
End With
End Sub

Merci d'avance de votre aide

Michel (le seul qui s'accroche)







Avatar
Péhemme
Bonsoir Jean-Paul,

;-)))

Oui, le module est dans le même classeur, mais pour une raison que j'ignore,
la partie "recopie" ne supporte pas d'être dans un procédure.
Comme l'a, si justement, fait remarqué Denis, il faut écrire la macro de
recopie directement dans le code "Bouton_Click" du Usf.
Je laisse le soin aux MVPs et autres excellents excelliens d'en expliquer la
raison.
Amitiés
Michel

"sabatier" a écrit dans le message
de news: %
salut péroche, le seul qui s'accroche
dis-moi, les modules dont tu parles pour Valider et pour Quit sont dans le
même classeur?
si oui, je ne vois pas pourquoi ça foire mais il m'arrive moi aussi
d'écrire
la proc dans le code du bouton....peu importe le flacon, michel, pourvu
qu'on ait le daurès...
jps


Avatar
Claude Trouet
Re,
Voici comment j'ai vérifié le code de Michel
TOUT se trouve dans le module de l'USF

Private Sub CommandButton1_Click()
NouvelleInscription
End Sub

Sub NouvelleInscription()
Dim R As Long
'Détermine la hauteur de la base de données
With Sheets("Base de Données")
R = .Range("f65536").End(xlUp).Row + 1
If R < 8 Then R = 8
End With
MsgBox R
'Jusque là, cela fonctionne, c'est la recopie (code suivant) qui bloque.
With Sheets("Base de Données")
.Range("b" & R).Value = txtDateCréat.Value
.Range("e" & R).Value = txtNuméroIncrip.Value
.Range("f" & R).Value = txtNomEnf.Value
End With
End Sub

Si ça peut faire avancer la mule .....
Claude

"Péhemme" a écrit dans le message de news:
418be422$0$18180$
Bonsoir Jean-Paul,

;-)))

Oui, le module est dans le même classeur, mais pour une raison que
j'ignore, la partie "recopie" ne supporte pas d'être dans un procédure.
Comme l'a, si justement, fait remarqué Denis, il faut écrire la macro de
recopie directement dans le code "Bouton_Click" du Usf.
Je laisse le soin aux MVPs et autres excellents excelliens d'en expliquer
la raison.
Amitiés
Michel

"sabatier" a écrit dans le
message de news: %
salut péroche, le seul qui s'accroche
dis-moi, les modules dont tu parles pour Valider et pour Quit sont dans
le
même classeur?
si oui, je ne vois pas pourquoi ça foire mais il m'arrive moi aussi
d'écrire
la proc dans le code du bouton....peu importe le flacon, michel, pourvu
qu'on ait le daurès...
jps






Avatar
michdenis
Bonjour Péhemme,


"d'en expliquer la raison."

Si tu veux utiliser un module standard par exemple,

tu dois utiliser ce type de syntaxe : tu dois inscrire le nom (Propriété Name du formulaire) devant l'objet
txtdatecréat. C'est aussi simple que cela.

.Range("b" & R).Value = USERFORM1.txtDateCréat.Value


Salutations!



"Péhemme" a écrit dans le message de news: 418be422$0$18180$
Bonsoir Jean-Paul,

;-)))

Oui, le module est dans le même classeur, mais pour une raison que j'ignore,
la partie "recopie" ne supporte pas d'être dans un procédure.
Comme l'a, si justement, fait remarqué Denis, il faut écrire la macro de
recopie directement dans le code "Bouton_Click" du Usf.
Je laisse le soin aux MVPs et autres excellents excelliens d'en expliquer la
raison.
Amitiés
Michel

"sabatier" a écrit dans le message
de news: %
salut péroche, le seul qui s'accroche
dis-moi, les modules dont tu parles pour Valider et pour Quit sont dans le
même classeur?
si oui, je ne vois pas pourquoi ça foire mais il m'arrive moi aussi
d'écrire
la proc dans le code du bouton....peu importe le flacon, michel, pourvu
qu'on ait le daurès...
jps


Avatar
Péhemme
Arrrrrr !!

"C'est aussi simple que cela".
T'en a de bonnes toi. C'est le coup qui tue !
;-)))
J'y ai consacré 4 heures avant de poster ma question.
Décidément, il y a les grands et les autres... (N'est-ce pas Jean-Paul ?)
;-)))
Merci Denis, de cette explication.
Bien amicalement
Michel

"michdenis" a écrit dans le message de news:

Bonjour Péhemme,


"d'en expliquer la raison."

Si tu veux utiliser un module standard par exemple,

tu dois utiliser ce type de syntaxe : tu dois inscrire le nom (Propriété
Name du formulaire) devant l'objet
txtdatecréat. C'est aussi simple que cela.

.Range("b" & R).Value = USERFORM1.txtDateCréat.Value


Salutations!





Avatar
Péhemme
Merci Claude de t'être penché sur mon sort.
Je viens de comprendre la "mécanique" avec les derniers éclaircissements de
Denis.
Bien amicalement
Michel


"Claude Trouet" a écrit dans le message de
news:
Re,
Voici comment j'ai vérifié le code de Michel
TOUT se trouve dans le module de l'USF

Private Sub CommandButton1_Click()
NouvelleInscription
End Sub

Sub NouvelleInscription()
Dim R As Long
'Détermine la hauteur de la base de données
With Sheets("Base de Données")
R = .Range("f65536").End(xlUp).Row + 1
If R < 8 Then R = 8
End With
MsgBox R
'Jusque là, cela fonctionne, c'est la recopie (code suivant) qui bloque.
With Sheets("Base de Données")
.Range("b" & R).Value = txtDateCréat.Value
.Range("e" & R).Value = txtNuméroIncrip.Value
.Range("f" & R).Value = txtNomEnf.Value
End With
End Sub

Si ça peut faire avancer la mule .....
Claude



Avatar
sabatier
même que les grands voit parfois, michel, leur perso.xls victime de
manoeuvres aussi souterraines que sournoises....
juste un truc que je voudrais vérifier avec toi ; tu te sers des boutons de
la BO Formulaires ou de celle des Contrôles?
jps

"Péhemme" a écrit dans le message de
news:418bea17$0$18875$
.
Décidément, il y a les grands et les autres... (N'est-ce pas Jean-Paul ?)


Avatar
Péhemme
Je ne me suis jamais posé cette question.
Après vérification, je m'aperçois que je ne me sers que de la BO Contrôles.
Elle est en effet accessible par l'icône "Faucille et Marteau" ( ;-))) ) de
la Barre Visual Basic, toujours apparente chez moi (c'est mon choix !)
Est-ce grave docteur ?
Michel

"sabatier" a écrit dans le message
de news: %
même que les grands voit parfois, michel, leur perso.xls victime de
manoeuvres aussi souterraines que sournoises....
juste un truc que je voudrais vérifier avec toi ; tu te sers des boutons
de
la BO Formulaires ou de celle des Contrôles?
jps

"Péhemme" a écrit dans le message de
news:418bea17$0$18875$
.
Décidément, il y a les grands et les autres... (N'est-ce pas Jean-Paul ?)






1 2