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

For Next

16 réponses
Avatar
danielsorbier
Bonjour,
débutant avec VB je cherche à utiliser For Next pour copier une valeur dans
un nombre x de lignes.
J'ai testé les différentes possibilités décrites dans le forum, mais
l'action "Coller" ne se fait pas.
Voici ce que j'ai écrit:
Soit "NbLig" le nom du champ calculant le nombre de lignes de mon forms

Lorsque j'effectue cet ordre, il s'arrête sur le premier enregistrement de
"FLigTickAtt" mais ne va pas sur le champ "IdTickA"
""""
DoCmd.GoToControl "IdTicket"
DoCmd.RunCommand acCmdCopy

DoCmd.SelectObject acForm, "FLigTickAtt", False
DoCmd.RunCommand acCmdRefresh
DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
Boucle_For_Next

Sub Boucle_For_Next()

Dim debut As Integer, fin As Integer, pas As Integer, compteur As Integer
debut = 1
fin = NbLig
pas = 1

For compteur = debut To fin Step pas

DoCmd.GoToControl "IdTickA"
DoCmd.RunCommand acCmdPaste
DoCmd.GoToRecord acForm, "FLigTickAtt", acNext

Next compteur

End Sub
"""""

alors qui si je fais ce qui suit, le coller se fait normalement sur le champ
"IdTickA"
""""
DoCmd.GoToControl "IdTicket"
DoCmd.RunCommand acCmdCopy

DoCmd.SelectObject acForm, "FLigTickAtt", False
DoCmd.RunCommand acCmdRefresh
DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
DoCmd.GoToControl "IdTickA"
DoCmd.RunCommand acCmdPaste
DoCmd.GoToRecord acForm, "FLigTickAtt", acNext
"""

Je ne comprend pas ce que je fais faux. Si qq pouvait m'aider se serait sympa.
Merci par avance

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.

as-tu contrôlé la valeur réelle de NbLig lorsque tu débutes la boucle ?
cette valeur correspond-elle bien ? comment charges-tu cette valeur dans
NbLig ? que cherches-tu à faire exactement ? il semblerait que tu travailles
dans le même formulaire, est-ce cela ?

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"danielsorbier" a écrit dans le
message de news:
| Bonjour,
| débutant avec VB je cherche à utiliser For Next pour copier une valeur
dans
| un nombre x de lignes.
| J'ai testé les différentes possibilités décrites dans le forum, mais
| l'action "Coller" ne se fait pas.
| Voici ce que j'ai écrit:
| Soit "NbLig" le nom du champ calculant le nombre de lignes de mon forms
|
| Lorsque j'effectue cet ordre, il s'arrête sur le premier enregistrement de
| "FLigTickAtt" mais ne va pas sur le champ "IdTickA"
| """"
| DoCmd.GoToControl "IdTicket"
| DoCmd.RunCommand acCmdCopy
|
| DoCmd.SelectObject acForm, "FLigTickAtt", False
| DoCmd.RunCommand acCmdRefresh
| DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
| Boucle_For_Next
|
| Sub Boucle_For_Next()
|
| Dim debut As Integer, fin As Integer, pas As Integer, compteur As
Integer
| debut = 1
| fin = NbLig
| pas = 1
|
| For compteur = debut To fin Step pas
|
| DoCmd.GoToControl "IdTickA"
| DoCmd.RunCommand acCmdPaste
| DoCmd.GoToRecord acForm, "FLigTickAtt", acNext
|
| Next compteur
|
| End Sub
| """""
|
| alors qui si je fais ce qui suit, le coller se fait normalement sur le
champ
| "IdTickA"
| """"
| DoCmd.GoToControl "IdTicket"
| DoCmd.RunCommand acCmdCopy
|
| DoCmd.SelectObject acForm, "FLigTickAtt", False
| DoCmd.RunCommand acCmdRefresh
| DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
| DoCmd.GoToControl "IdTickA"
| DoCmd.RunCommand acCmdPaste
| DoCmd.GoToRecord acForm, "FLigTickAtt", acNext
| """
|
| Je ne comprend pas ce que je fais faux. Si qq pouvait m'aider se serait
sympa.
| Merci par avance
Avatar
danielsorbier
Bonsoir,
merci d'avoir pris le temps de me lire.
"NbLig" représente le nombre de lignes de saisies du deuxièmne forms. Le
champ est visible et est à chaque test entre 3 et 5. Résultat d'un "CpteDom"
J'ai deux forms. Le premier contient 3 champs: 1 No de ticket, 1 No de
client, 1 no d'employé.
Le deuxième forms contient les services ou produits vendus à ce client avec
mise en attente car les ventes peuvent se faire sur plusieurs jours.
Donc quand je valide la facture, je veux que le No de ticket du premier
forms se copie dans chaque ligne du deuxième forms pour assurer la liaison.

J'ai changé un peu mon code (voir après) et il s'arrête sur la deuxième
ligne sur le champ "IdTickA" du deuxième forms, mais ne colle pas la valeur
de "IdTicket" alors qu'il le fait sur la première ligne avec l'avant dernière
ligne de code avant "Boucle_For_Next"
J'ai aussi essayé de remplacer "NbLig" par 5 ou 6 pour voir, mais cela ne
fonctionne pas.
"
DoCmd.GoToControl "IdTicket"
DoCmd.RunCommand acCmdCopy

DoCmd.SelectObject acForm, "FLigTickAtt", False
DoCmd.RunCommand acCmdRefresh
DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
DoCmd.GoToControl "IdTickA"
DoCmd.RunCommand acCmdPaste
DoCmd.GoToRecord acForm, "FLigTickAtt", acNext

Boucle_For_Next
"
ps: J'ai une macro qui fait tout cela très bien mais ce n'est pas très
"joli" et puis je dois apprendre.
J'espère avoir été clair.




Bonjour.

as-tu contrôlé la valeur réelle de NbLig lorsque tu débutes la boucle ?
cette valeur correspond-elle bien ? comment charges-tu cette valeur dans
NbLig ? que cherches-tu à faire exactement ? il semblerait que tu travailles
dans le même formulaire, est-ce cela ?

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"danielsorbier" a écrit dans le
message de news:
| Bonjour,
| débutant avec VB je cherche à utiliser For Next pour copier une valeur
dans
| un nombre x de lignes.
| J'ai testé les différentes possibilités décrites dans le forum, mais
| l'action "Coller" ne se fait pas.
| Voici ce que j'ai écrit:
| Soit "NbLig" le nom du champ calculant le nombre de lignes de mon forms
|
| Lorsque j'effectue cet ordre, il s'arrête sur le premier enregistrement de
| "FLigTickAtt" mais ne va pas sur le champ "IdTickA"
| """"
| DoCmd.GoToControl "IdTicket"
| DoCmd.RunCommand acCmdCopy
|
| DoCmd.SelectObject acForm, "FLigTickAtt", False
| DoCmd.RunCommand acCmdRefresh
| DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
| Boucle_For_Next
|
| Sub Boucle_For_Next()
|
| Dim debut As Integer, fin As Integer, pas As Integer, compteur As
Integer
| debut = 1
| fin = NbLig
| pas = 1
|
| For compteur = debut To fin Step pas
|
| DoCmd.GoToControl "IdTickA"
| DoCmd.RunCommand acCmdPaste
| DoCmd.GoToRecord acForm, "FLigTickAtt", acNext
|
| Next compteur
|
| End Sub
| """""
|
| alors qui si je fais ce qui suit, le coller se fait normalement sur le
champ
| "IdTickA"
| """"
| DoCmd.GoToControl "IdTicket"
| DoCmd.RunCommand acCmdCopy
|
| DoCmd.SelectObject acForm, "FLigTickAtt", False
| DoCmd.RunCommand acCmdRefresh
| DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
| DoCmd.GoToControl "IdTickA"
| DoCmd.RunCommand acCmdPaste
| DoCmd.GoToRecord acForm, "FLigTickAtt", acNext
| """
|
| Je ne comprend pas ce que je fais faux. Si qq pouvait m'aider se serait
sympa.
| Merci par avance





Avatar
danielsorbier
J'oubliais, j'a aussi essayé de mettre des guillemets autour de Nblig dans la
déclaration au début, mais cela ne change pas. fin = "NbLig"



Bonjour.

as-tu contrôlé la valeur réelle de NbLig lorsque tu débutes la boucle ?
cette valeur correspond-elle bien ? comment charges-tu cette valeur dans
NbLig ? que cherches-tu à faire exactement ? il semblerait que tu travailles
dans le même formulaire, est-ce cela ?

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"danielsorbier" a écrit dans le
message de news:
| Bonjour,
| débutant avec VB je cherche à utiliser For Next pour copier une valeur
dans
| un nombre x de lignes.
| J'ai testé les différentes possibilités décrites dans le forum, mais
| l'action "Coller" ne se fait pas.
| Voici ce que j'ai écrit:
| Soit "NbLig" le nom du champ calculant le nombre de lignes de mon forms
|
| Lorsque j'effectue cet ordre, il s'arrête sur le premier enregistrement de
| "FLigTickAtt" mais ne va pas sur le champ "IdTickA"
| """"
| DoCmd.GoToControl "IdTicket"
| DoCmd.RunCommand acCmdCopy
|
| DoCmd.SelectObject acForm, "FLigTickAtt", False
| DoCmd.RunCommand acCmdRefresh
| DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
| Boucle_For_Next
|
| Sub Boucle_For_Next()
|
| Dim debut As Integer, fin As Integer, pas As Integer, compteur As
Integer
| debut = 1
| fin = NbLig
| pas = 1
|
| For compteur = debut To fin Step pas
|
| DoCmd.GoToControl "IdTickA"
| DoCmd.RunCommand acCmdPaste
| DoCmd.GoToRecord acForm, "FLigTickAtt", acNext
|
| Next compteur
|
| End Sub
| """""
|
| alors qui si je fais ce qui suit, le coller se fait normalement sur le
champ
| "IdTickA"
| """"
| DoCmd.GoToControl "IdTicket"
| DoCmd.RunCommand acCmdCopy
|
| DoCmd.SelectObject acForm, "FLigTickAtt", False
| DoCmd.RunCommand acCmdRefresh
| DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
| DoCmd.GoToControl "IdTickA"
| DoCmd.RunCommand acCmdPaste
| DoCmd.GoToRecord acForm, "FLigTickAtt", acNext
| """
|
| Je ne comprend pas ce que je fais faux. Si qq pouvait m'aider se serait
sympa.
| Merci par avance





Avatar
Raymond [mvp]
Bonjour.

| ps: J'ai une macro qui fait tout cela très bien mais ce n'est pas très
| "joli" et puis je dois apprendre.

le plus simple est de convertir la macro en code vba. regarde dans le menu
macro tu as une fonction de conversion automatique pour ça.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"danielsorbier" a écrit dans le
message de news:
| Bonsoir,
| merci d'avoir pris le temps de me lire.
| "NbLig" représente le nombre de lignes de saisies du deuxièmne forms. Le
| champ est visible et est à chaque test entre 3 et 5. Résultat d'un
"CpteDom"
| J'ai deux forms. Le premier contient 3 champs: 1 No de ticket, 1 No de
| client, 1 no d'employé.
| Le deuxième forms contient les services ou produits vendus à ce client
avec
| mise en attente car les ventes peuvent se faire sur plusieurs jours.
| Donc quand je valide la facture, je veux que le No de ticket du premier
| forms se copie dans chaque ligne du deuxième forms pour assurer la
liaison.
|
| J'ai changé un peu mon code (voir après) et il s'arrête sur la deuxième
| ligne sur le champ "IdTickA" du deuxième forms, mais ne colle pas la
valeur
| de "IdTicket" alors qu'il le fait sur la première ligne avec l'avant
dernière
| ligne de code avant "Boucle_For_Next"
| J'ai aussi essayé de remplacer "NbLig" par 5 ou 6 pour voir, mais cela ne
| fonctionne pas.
| "
| DoCmd.GoToControl "IdTicket"
| DoCmd.RunCommand acCmdCopy
|
| DoCmd.SelectObject acForm, "FLigTickAtt", False
| DoCmd.RunCommand acCmdRefresh
| DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
| DoCmd.GoToControl "IdTickA"
| DoCmd.RunCommand acCmdPaste
| DoCmd.GoToRecord acForm, "FLigTickAtt", acNext
|
| Boucle_For_Next
| "
| ps: J'ai une macro qui fait tout cela très bien mais ce n'est pas très
| "joli" et puis je dois apprendre.
| J'espère avoir été clair.
Avatar
danielsorbier
Bonjour,c'est ce que j'avais fait au départ. Simplement je voulais profiter
d'apprendre For next et en plus cela évite d'avoir 200 lignes puisque cette
macro prend les conditions du nombre de lignes d'écritures de 1 à 18. Si j'ai
20 lignes la macro ne marche pas. Et je répète ce n'est pas très beau à voir.


Bonjour.

| ps: J'ai une macro qui fait tout cela très bien mais ce n'est pas très
| "joli" et puis je dois apprendre.

le plus simple est de convertir la macro en code vba. regarde dans le menu
macro tu as une fonction de conversion automatique pour ça.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"danielsorbier" a écrit dans le
message de news:
| Bonsoir,
| merci d'avoir pris le temps de me lire.
| "NbLig" représente le nombre de lignes de saisies du deuxièmne forms. Le
| champ est visible et est à chaque test entre 3 et 5. Résultat d'un
"CpteDom"
| J'ai deux forms. Le premier contient 3 champs: 1 No de ticket, 1 No de
| client, 1 no d'employé.
| Le deuxième forms contient les services ou produits vendus à ce client
avec
| mise en attente car les ventes peuvent se faire sur plusieurs jours.
| Donc quand je valide la facture, je veux que le No de ticket du premier
| forms se copie dans chaque ligne du deuxième forms pour assurer la
liaison.
|
| J'ai changé un peu mon code (voir après) et il s'arrête sur la deuxième
| ligne sur le champ "IdTickA" du deuxième forms, mais ne colle pas la
valeur
| de "IdTicket" alors qu'il le fait sur la première ligne avec l'avant
dernière
| ligne de code avant "Boucle_For_Next"
| J'ai aussi essayé de remplacer "NbLig" par 5 ou 6 pour voir, mais cela ne
| fonctionne pas.
| "
| DoCmd.GoToControl "IdTicket"
| DoCmd.RunCommand acCmdCopy
|
| DoCmd.SelectObject acForm, "FLigTickAtt", False
| DoCmd.RunCommand acCmdRefresh
| DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
| DoCmd.GoToControl "IdTickA"
| DoCmd.RunCommand acCmdPaste
| DoCmd.GoToRecord acForm, "FLigTickAtt", acNext
|
| Boucle_For_Next
| "
| ps: J'ai une macro qui fait tout cela très bien mais ce n'est pas très
| "joli" et puis je dois apprendre.
| J'espère avoir été clair.





Avatar
Raymond [mvp]
apprendre pour apprendre, il faut apprendre tes classiques.
tu peux faire cette procédure dans ton formulaire1 qui va mettre à jour ton
formulaire2. je suppose que ces deux formulaires sont des formulaires
principaux et non des sous-formulaires.

Dim Rs As DAO.Recordset
Set Rs = Forms("formulaire2").Recordset
If Not Rs.EOF Then
Do Until Rs.EOF
Rs.Edit
Rs("IdTickA") = Me.IdTickA
Rs.Update
Rs.MoveNext
Loop
End If


--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"danielsorbier" a écrit dans le
message de news:
| Bonjour,c'est ce que j'avais fait au départ. Simplement je voulais
profiter
| d'apprendre For next et en plus cela évite d'avoir 200 lignes puisque
cette
| macro prend les conditions du nombre de lignes d'écritures de 1 à 18. Si
j'ai
| 20 lignes la macro ne marche pas. Et je répète ce n'est pas très beau à
voir.
|
|
| > Bonjour.
| >
| > | ps: J'ai une macro qui fait tout cela très bien mais ce n'est pas très
| > | "joli" et puis je dois apprendre.
| >
| > le plus simple est de convertir la macro en code vba. regarde dans le
menu
| > macro tu as une fonction de conversion automatique pour ça.
| >
| > --
| > @+
| > Raymond Access MVP http://OfficeSystem.Access.free.fr/
| > Pour débuter sur le forum: http://www.mpfa.info/
| >
| > Venez découvrir Open XML, le nouveau format de fichier de la suite
Office !
| >
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db
| >
| >
| > "danielsorbier" a écrit dans
le
| > message de news:
| > | Bonsoir,
| > | merci d'avoir pris le temps de me lire.
| > | "NbLig" représente le nombre de lignes de saisies du deuxièmne forms.
Le
| > | champ est visible et est à chaque test entre 3 et 5. Résultat d'un
| > "CpteDom"
| > | J'ai deux forms. Le premier contient 3 champs: 1 No de ticket, 1 No de
| > | client, 1 no d'employé.
| > | Le deuxième forms contient les services ou produits vendus à ce client
| > avec
| > | mise en attente car les ventes peuvent se faire sur plusieurs jours.
| > | Donc quand je valide la facture, je veux que le No de ticket du
premier
| > | forms se copie dans chaque ligne du deuxième forms pour assurer la
| > liaison.
| > |
| > | J'ai changé un peu mon code (voir après) et il s'arrête sur la
deuxième
| > | ligne sur le champ "IdTickA" du deuxième forms, mais ne colle pas la
| > valeur
| > | de "IdTicket" alors qu'il le fait sur la première ligne avec l'avant
| > dernière
| > | ligne de code avant "Boucle_For_Next"
| > | J'ai aussi essayé de remplacer "NbLig" par 5 ou 6 pour voir, mais cela
ne
| > | fonctionne pas.
| > | "
| > | DoCmd.GoToControl "IdTicket"
| > | DoCmd.RunCommand acCmdCopy
| > |
| > | DoCmd.SelectObject acForm, "FLigTickAtt", False
| > | DoCmd.RunCommand acCmdRefresh
| > | DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
| > | DoCmd.GoToControl "IdTickA"
| > | DoCmd.RunCommand acCmdPaste
| > | DoCmd.GoToRecord acForm, "FLigTickAtt", acNext
| > |
| > | Boucle_For_Next
| > | "
| > | ps: J'ai une macro qui fait tout cela très bien mais ce n'est pas très
| > | "joli" et puis je dois apprendre.
| > | J'espère avoir été clair.
| >
| >
| >
Avatar
danielsorbier
oui il s'agit de deux formualires principaux


apprendre pour apprendre, il faut apprendre tes classiques.
tu peux faire cette procédure dans ton formulaire1 qui va mettre à jour ton
formulaire2. je suppose que ces deux formulaires sont des formulaires
principaux et non des sous-formulaires.

Dim Rs As DAO.Recordset
Set Rs = Forms("formulaire2").Recordset
If Not Rs.EOF Then
Do Until Rs.EOF
Rs.Edit
Rs("IdTickA") = Me.IdTickA
Rs.Update
Rs.MoveNext
Loop
End If


--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"danielsorbier" a écrit dans le
message de news:
| Bonjour,c'est ce que j'avais fait au départ. Simplement je voulais
profiter
| d'apprendre For next et en plus cela évite d'avoir 200 lignes puisque
cette
| macro prend les conditions du nombre de lignes d'écritures de 1 à 18. Si
j'ai
| 20 lignes la macro ne marche pas. Et je répète ce n'est pas très beau à
voir.
|
|
| > Bonjour.
| >
| > | ps: J'ai une macro qui fait tout cela très bien mais ce n'est pas très
| > | "joli" et puis je dois apprendre.
| >
| > le plus simple est de convertir la macro en code vba. regarde dans le
menu
| > macro tu as une fonction de conversion automatique pour ça.
| >
| > --
| > @+
| > Raymond Access MVP http://OfficeSystem.Access.free.fr/
| > Pour débuter sur le forum: http://www.mpfa.info/
| >
| > Venez découvrir Open XML, le nouveau format de fichier de la suite
Office !
| >
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db
| >
| >
| > "danielsorbier" a écrit dans
le
| > message de news:
| > | Bonsoir,
| > | merci d'avoir pris le temps de me lire.
| > | "NbLig" représente le nombre de lignes de saisies du deuxièmne forms.
Le
| > | champ est visible et est à chaque test entre 3 et 5. Résultat d'un
| > "CpteDom"
| > | J'ai deux forms. Le premier contient 3 champs: 1 No de ticket, 1 No de
| > | client, 1 no d'employé.
| > | Le deuxième forms contient les services ou produits vendus à ce client
| > avec
| > | mise en attente car les ventes peuvent se faire sur plusieurs jours.
| > | Donc quand je valide la facture, je veux que le No de ticket du
premier
| > | forms se copie dans chaque ligne du deuxième forms pour assurer la
| > liaison.
| > |
| > | J'ai changé un peu mon code (voir après) et il s'arrête sur la
deuxième
| > | ligne sur le champ "IdTickA" du deuxième forms, mais ne colle pas la
| > valeur
| > | de "IdTicket" alors qu'il le fait sur la première ligne avec l'avant
| > dernière
| > | ligne de code avant "Boucle_For_Next"
| > | J'ai aussi essayé de remplacer "NbLig" par 5 ou 6 pour voir, mais cela
ne
| > | fonctionne pas.
| > | "
| > | DoCmd.GoToControl "IdTicket"
| > | DoCmd.RunCommand acCmdCopy
| > |
| > | DoCmd.SelectObject acForm, "FLigTickAtt", False
| > | DoCmd.RunCommand acCmdRefresh
| > | DoCmd.GoToRecord acForm, "FLigTickAtt", acFirst
| > | DoCmd.GoToControl "IdTickA"
| > | DoCmd.RunCommand acCmdPaste
| > | DoCmd.GoToRecord acForm, "FLigTickAtt", acNext
| > |
| > | Boucle_For_Next
| > | "
| > | ps: J'ai une macro qui fait tout cela très bien mais ce n'est pas très
| > | "joli" et puis je dois apprendre.
| > | J'espère avoir été clair.
| >
| >
| >





Avatar
Raymond [mvp]
tu dois pouvoir y arriver comme ça.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"danielsorbier" a écrit dans le
message de news:
|
|
| oui il s'agit de deux formualires principaux
|
Avatar
Raymond [mvp]
erreur de débutant:
bien penser de mettre à la fin:
End If
Set Rs = Nothing

pour fermer l'objet.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"danielsorbier" a écrit dans le
message de news:
|
|
| oui il s'agit de deux formualires principaux
|
Avatar
danielsorbier
Je vois.... enfin c'est beaucoup dire, je n'en suis pas là de ma
compréhension de vb
A priori une question avant d'avoir testé.
Rs("IdTickA") = Me.IdTickA

Le champ IdTickA est dans le 2èm forms, mais le nom du champ du 1er forms
que l'on doit reprendre se nomme IdTicket. Dois-remplacer Me.IdTickA par
Me.IdTicket ?

Je vais faire le test tout à l'heure.
Par contre désolé d'insister, mais je voudrai quand même comprendre pourquoi
le for next ne fonctionne pas d'autant que si j'arrivais à saisir ce
fonctionnement je pourrais alors aussi l'utiliser dans excel par ex.

Donc imaginons que j'aie un premier forms (FormsUn) avec un champ nomé IdUn
et que je veuille que la valeur de ce champ se recopie dans tous les champs
IdDeux d'un second formulaires (FormsDeux) comprenant 30 lignes est-ce que ce
qui suit est juste
""
DoCmd.GoToRecord acForm, "FormsUn", "",
DoCmd.GoToControl "IdUn"
DoCmd.RunCommand acCmdCopy
DoCmd.GoToRecord acForm, "FormsDeux", acFirst

Sub Boucle_For_Next()

Dim debut As Integer, fin As Integer, pas As Integer, compteur As Integer
debut = 1
fin = 30
pas = 1

For compteur = debut To fin Step pas
DoCmd.GoToControl "IdDeux"
DoCmd.RunCommand acCmdPaste
DoCmd.GoToRecord acForm, "FormsDeux", acNext
Next compteur

End Sub
""
Voilà,
je dois partir mais je lirais ta réponse en rentrant.
Merci encore de ta patience et bonne journée



erreur de débutant:
bien penser de mettre à la fin:
End If
Set Rs = Nothing

pour fermer l'objet.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Venez découvrir Open XML, le nouveau format de fichier de la suite Office !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidÿ71c7f3-78e8-4371-abaf-b73c259e58db


"danielsorbier" a écrit dans le
message de news:
|
|
| oui il s'agit de deux formualires principaux
|





1 2