cs_inco13
Messages postés23Date d'inscriptionmardi 13 mai 2008StatutMembreDernière intervention14 mars 2009
-
4 juin 2008 à 18:19
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
6 juin 2008 à 00:33
bonjour,
je voudrait savoir si quel qu un pourait m'aider parce ce que je n'arrive pas a metre a la ligne met enregistrement que je fait dans une userform dans une feuille exel.
merci
<!-- / message -->
A voir également:
Sous-requête ramenant un enregistrement de plus d'une ligne
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 4 juin 2008 à 18:45
Salut
Le VB de Excel est du VBA, pas du .Net
Catégorie modifiée
"je n'arrive pas a metre a la ligne met enregistrement" : traduction ? "mes enregistrements" ?
Enregistrement de quoi ? dans quoi ? Fichier ? Base de données ? qu'as-tu écris ?
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 4 juin 2008 à 19:01
Bonjour Jack, et inco13,
Comme Jack le fait remarquer, tu restes absolument pas clair... Il faut bien préciser les choses point par point, et le plus simplement possible (avec le moins de détails inutiles pour améliorer la compréhension).
Pour toi, que signifie "enregistrement" ?
- une cellule d'une feuille Excel ?
Ensuite, que cherches-tu à faire ?
- Ecrire qlq chose dans des cellules successives ?
- Ecrire qlq chose dans une seule cellule avec un saut de ligne ?
Amicalement,
Us.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_inco13
Messages postés23Date d'inscriptionmardi 13 mai 2008StatutMembreDernière intervention14 mars 2009 4 juin 2008 à 19:07
je suis en trein de faire un formullaire contenant plusieur champ, ce que je souhaiterait c'est la programation en vba qui me permettra de revenir a la ligne dans ma base de donnee pour que je puisse saisir d'autre enregistrement da ns mon formulaire qui se rajouteront a ma base de donne.
merci
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 5 juin 2008 à 02:18
La clarté, ce n'est pas ton fort...
Tu n'as pas répondu à ce que te demandait us_30 (salut)
As-tu un bout de code qui ne fonctionne pas ?
Si tu veux créer un saut de ligne dans une cellule, utilise vbLf qui n'affichera pas un petit carré comme le ferait vbCr ou vbCrLf.
Si tu veux sauter carrément à la cellule suivante, il faudrait alors voir ton code pour pouvoir t'aider. En principe, tu dois garder en mémoire dans une variable, la ligne sur laquelle tu inscris tes données et tu incrémentes cette variable pour chaque enregistrement...
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
cs_inco13
Messages postés23Date d'inscriptionmardi 13 mai 2008StatutMembreDernière intervention14 mars 2009 5 juin 2008 à 20:19
bonjour,
desole si tu ne comprend pas trop ce que j essai de t' expliquer c'est pour cela que je t'envoi mon le code du bouton valider de mon formulaire en esperant que tu comprenent. je souhaiterai que lorsque je clique sur le bouton valider cettte enregistrement ce met a la suite du precedent dans la base de donner.
merci
code :
Private Sub valider_Click()
nom_clt.SetFocusIf nom_clt "" Or prenom_clt "" Or adresse_clt = "" Or cp_clt = "" Or ville_clt = "" Or classe = "" _ Or destination "" Or adulte "" Or nourisson = "" Or enfant = "" Then
reponse = MsgBox("Vous n'avez pas remplis certaines informations!", vbCritical, "ATTENTION")
ElseIf nom_clt <> "" And prenom_clt <> "" And adresse_clt <> "" And cp_clt <> "" And ville_clt <> "" And destination <> "" And classe <> "" And adulte <> "" _
And nourisson <> "" And enfant <> "" Then
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 5 juin 2008 à 23:28
J'y vois 2 problèmes.
Le premier n'est pas vraiment un problème, mais plus une amélioration de la condition.
Tu vérifies si chaque champ est vide avec un OR, ce qui est bien. Donc, si un est vide tu affiches le message. C'est le ElseIf qui ne sert à rien, puisque déjà vérifié dans le If. Si un des champ est vide, on affiche le message, autrement ils sont tous remplis, non ?If nom_clt "" Or prenom_clt "" Or adresse_clt = "" Or cp_clt = "" Or _ ville_clt "" Or classe "" Or destination = "" Or adulte = "" Or _ nourisson "" Or enfant "" Then
reponse = MsgBox("Vous n'avez pas remplis certaines informations!", _
vbCritical, "ATTENTION")
Else 'sans aucune condition
'le reste de ton code
End If
Le 2e point est plus un problème...
Tu utilises des noms de plages dans tes Range(...)
Il faut plutôt y aller avec les colonnes que tu dois connaître et les lignes qui seraient une variable qui s'incrémente. De plus, tu écris dans ce Range une valeur entre guillemets qui ne sera rien d'autre que ce texte entre guillemets, et non pas le contenu d'une variable.
Dans cette ligne
Range("nom_clt") = "nom_clt"
J'imagine que "nom_clt" est le nom d'une plage préalablement définie et que
"nom_clt"
est le nom d'une variable... Est-ce bien ça ?
Si oui, il faudrait enlever les guillemets autour de la variable et utiliser un Range comme
Range("A" & Ligne) = nom_clt
Range("B" & Ligne) = prenom_clt
...
Pour connaître la valeur de Ligne, tu écris ceci
Ligne = Cells(Rows.Count, "A").End(xlUp).Row + 1 'première ligne vide en A
avant de remplir les cellules
Est-ce que ça t'éclaire un peu ?
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 6 juin 2008 à 00:33
Salut us_30,
Toujours bon à savoir... En fait, je n'utilise jamais de noms définis parce que j'ai toujours des problèmes de liaisons (nom existant à écraser ou non...) quand les pages sont collées sur d'autres fichiers, en plus du redimensionnement... mais bon, c'est une technique qui est tout de même utilisée et c'est bon de savoir comment jouer avec ces plages...
Je vais essayer de m'en rappeler quand arrivera le moment de travailler avec ceux-ci...
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI