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

boucle en vb

12 réponses
Avatar
macgiver
Bonjour a tous, j'ai une table qui contient les champs Bloc, Indice et Plant,
dans laquelle je voudrais pour chaque bloc que je sélectionne inscrire dans
cette table le bloc, indice et plant de la maniere suivante:

Bloc Indice Plant
06MAR088 1 2
06MAR088 2 2
06MAR088 3 2
06MAR088 4 3
06MAR088 5 3
06MAR088 6 4
06MAR088 7 4
06MAR088 8 4
06MAR088 9 4
06MAR088 10 4
06MAR088 11 4
06MAR088 12 4
06HER113 1 2
06HER113 2 2
06HER113 3 2
06HER113 4 3
06HER113 5 3
06HER113 6 4
06HER113 7 4
06HER113 8 4
06HER113 9 4
06HER113 10 4
06HER113 11 4
06HER113 12 4

donc une boucle et vous voyer...

merci

10 réponses

1 2
Avatar
Jessy Sempere
Bonjour

Le code ci-dessous devrait te convenir, il te suffit d'appeler la fonction
en mettant pour le premier argument le nom de la table de destination et dans
le 2ème argument, le nom du bloc à ajouter :

************************************
Function Add_Bloc(strTable As String, strBloc As String)

Dim rst As DAO.Recordset
Dim intIndice As Integer
Set rst = CurrentDb.OpenRecordset(strTable)

With rst
For intIndice = 1 To 12
.AddNew
.Fields("Bloc") = strBloc
.Fields("Indice") = indice
Select Case intIndice
Case 1 To 3
.Fields("Plant") = 2
Case 4 To 5
.Fields("Plant") = 3
Case Else
.Fields("Plant") = 4
End Select
.Update
Next
End With
rst.Close: Set rst = Nothing
End Function
************************************

@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Bonjour a tous, j'ai une table qui contient les champs Bloc, Indice et Plant,
dans laquelle je voudrais pour chaque bloc que je sélectionne inscrire dans
cette table le bloc, indice et plant de la maniere suivante:

Bloc Indice Plant
06MAR088 1 2
06MAR088 2 2
06MAR088 3 2
06MAR088 4 3
06MAR088 5 3
06MAR088 6 4
06MAR088 7 4
06MAR088 8 4
06MAR088 9 4
06MAR088 10 4
06MAR088 11 4
06MAR088 12 4
06HER113 1 2
06HER113 2 2
06HER113 3 2
06HER113 4 3
06HER113 5 3
06HER113 6 4
06HER113 7 4
06HER113 8 4
06HER113 9 4
06HER113 10 4
06HER113 11 4
06HER113 12 4

donc une boucle et vous voyer...

merci



Avatar
macgiver
Comment on fait pour appeler cette fonction, je l'ai mis dans une macro mais
j'ai le message suivant: L'expression entrée comporte un nom de fonction
introuvable.


merci beaucoup


Bonjour

Le code ci-dessous devrait te convenir, il te suffit d'appeler la fonction
en mettant pour le premier argument le nom de la table de destination et dans
le 2ème argument, le nom du bloc à ajouter :

************************************
Function Add_Bloc(strTable As String, strBloc As String)

Dim rst As DAO.Recordset
Dim intIndice As Integer
Set rst = CurrentDb.OpenRecordset(strTable)

With rst
For intIndice = 1 To 12
.AddNew
.Fields("Bloc") = strBloc
.Fields("Indice") = indice
Select Case intIndice
Case 1 To 3
.Fields("Plant") = 2
Case 4 To 5
.Fields("Plant") = 3
Case Else
.Fields("Plant") = 4
End Select
.Update
Next
End With
rst.Close: Set rst = Nothing
End Function
************************************

@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Bonjour a tous, j'ai une table qui contient les champs Bloc, Indice et Plant,
dans laquelle je voudrais pour chaque bloc que je sélectionne inscrire dans
cette table le bloc, indice et plant de la maniere suivante:

Bloc Indice Plant
06MAR088 1 2
06MAR088 2 2
06MAR088 3 2
06MAR088 4 3
06MAR088 5 3
06MAR088 6 4
06MAR088 7 4
06MAR088 8 4
06MAR088 9 4
06MAR088 10 4
06MAR088 11 4
06MAR088 12 4
06HER113 1 2
06HER113 2 2
06HER113 3 2
06HER113 4 3
06HER113 5 3
06HER113 6 4
06HER113 7 4
06HER113 8 4
06HER113 9 4
06HER113 10 4
06HER113 11 4
06HER113 12 4

donc une boucle et vous voyer...

merci





Avatar
Jessy Sempere
Bonjour

Tu dois copier le code que je t'ai donné dans un module standard de ta base.

Ensuite, si tu veux le lancer dans du code, il te faut utiliser l'action
"exécuter code" et dans l'argument, tu mets :

Add_Bloc "leNomduBloc"


@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Comment on fait pour appeler cette fonction, je l'ai mis dans une macro mais
j'ai le message suivant: L'expression entrée comporte un nom de fonction
introuvable.


merci beaucoup


Bonjour

Le code ci-dessous devrait te convenir, il te suffit d'appeler la fonction
en mettant pour le premier argument le nom de la table de destination et dans
le 2ème argument, le nom du bloc à ajouter :

************************************
Function Add_Bloc(strTable As String, strBloc As String)

Dim rst As DAO.Recordset
Dim intIndice As Integer
Set rst = CurrentDb.OpenRecordset(strTable)

With rst
For intIndice = 1 To 12
.AddNew
.Fields("Bloc") = strBloc
.Fields("Indice") = indice
Select Case intIndice
Case 1 To 3
.Fields("Plant") = 2
Case 4 To 5
.Fields("Plant") = 3
Case Else
.Fields("Plant") = 4
End Select
.Update
Next
End With
rst.Close: Set rst = Nothing
End Function
************************************

@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Bonjour a tous, j'ai une table qui contient les champs Bloc, Indice et Plant,
dans laquelle je voudrais pour chaque bloc que je sélectionne inscrire dans
cette table le bloc, indice et plant de la maniere suivante:

Bloc Indice Plant
06MAR088 1 2
06MAR088 2 2
06MAR088 3 2
06MAR088 4 3
06MAR088 5 3
06MAR088 6 4
06MAR088 7 4
06MAR088 8 4
06MAR088 9 4
06MAR088 10 4
06MAR088 11 4
06MAR088 12 4
06HER113 1 2
06HER113 2 2
06HER113 3 2
06HER113 4 3
06HER113 5 3
06HER113 6 4
06HER113 7 4
06HER113 8 4
06HER113 9 4
06HER113 10 4
06HER113 11 4
06HER113 12 4

donc une boucle et vous voyer...

merci







Avatar
macgiver
J'ai essayer ce que tu m'as dit mais ça plante en me disant que le nombre
d'argument n'est pas correct. as tu une bd sur laquelle je pourrais m'appuyer?

merci


Bonjour

Tu dois copier le code que je t'ai donné dans un module standard de ta base.

Ensuite, si tu veux le lancer dans du code, il te faut utiliser l'action
"exécuter code" et dans l'argument, tu mets :

Add_Bloc "leNomduBloc"


@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Comment on fait pour appeler cette fonction, je l'ai mis dans une macro mais
j'ai le message suivant: L'expression entrée comporte un nom de fonction
introuvable.


merci beaucoup


Bonjour

Le code ci-dessous devrait te convenir, il te suffit d'appeler la fonction
en mettant pour le premier argument le nom de la table de destination et dans
le 2ème argument, le nom du bloc à ajouter :

************************************
Function Add_Bloc(strTable As String, strBloc As String)

Dim rst As DAO.Recordset
Dim intIndice As Integer
Set rst = CurrentDb.OpenRecordset(strTable)

With rst
For intIndice = 1 To 12
.AddNew
.Fields("Bloc") = strBloc
.Fields("Indice") = indice
Select Case intIndice
Case 1 To 3
.Fields("Plant") = 2
Case 4 To 5
.Fields("Plant") = 3
Case Else
.Fields("Plant") = 4
End Select
.Update
Next
End With
rst.Close: Set rst = Nothing
End Function
************************************

@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Bonjour a tous, j'ai une table qui contient les champs Bloc, Indice et Plant,
dans laquelle je voudrais pour chaque bloc que je sélectionne inscrire dans
cette table le bloc, indice et plant de la maniere suivante:

Bloc Indice Plant
06MAR088 1 2
06MAR088 2 2
06MAR088 3 2
06MAR088 4 3
06MAR088 5 3
06MAR088 6 4
06MAR088 7 4
06MAR088 8 4
06MAR088 9 4
06MAR088 10 4
06MAR088 11 4
06MAR088 12 4
06HER113 1 2
06HER113 2 2
06HER113 3 2
06HER113 4 3
06HER113 5 3
06HER113 6 4
06HER113 7 4
06HER113 8 4
06HER113 9 4
06HER113 10 4
06HER113 11 4
06HER113 12 4

donc une boucle et vous voyer...

merci









Avatar
Eric
Bonjour,

Il te faut 2 arguments. Le 1er est le nom de la table.

Add_Bloc "leNomDeLaTable, "leNomduBloc"

J'ai essayer ce que tu m'as dit mais ça plante en me disant que le nombre
d'argument n'est pas correct. as tu une bd sur laquelle je pourrais m'appuyer?

merci


Bonjour

Tu dois copier le code que je t'ai donné dans un module standard de ta base.

Ensuite, si tu veux le lancer dans du code, il te faut utiliser l'action
"exécuter code" et dans l'argument, tu mets :

Add_Bloc "leNomduBloc"


@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Comment on fait pour appeler cette fonction, je l'ai mis dans une macro mais
j'ai le message suivant: L'expression entrée comporte un nom de fonction
introuvable.


merci beaucoup


Bonjour

Le code ci-dessous devrait te convenir, il te suffit d'appeler la fonction
en mettant pour le premier argument le nom de la table de destination et dans
le 2ème argument, le nom du bloc à ajouter :

************************************
Function Add_Bloc(strTable As String, strBloc As String)

Dim rst As DAO.Recordset
Dim intIndice As Integer
Set rst = CurrentDb.OpenRecordset(strTable)

With rst
For intIndice = 1 To 12
.AddNew
.Fields("Bloc") = strBloc
.Fields("Indice") = indice
Select Case intIndice
Case 1 To 3
.Fields("Plant") = 2
Case 4 To 5
.Fields("Plant") = 3
Case Else
.Fields("Plant") = 4
End Select
.Update
Next
End With
rst.Close: Set rst = Nothing
End Function
************************************

@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Bonjour a tous, j'ai une table qui contient les champs Bloc, Indice et Plant,
dans laquelle je voudrais pour chaque bloc que je sélectionne inscrire dans
cette table le bloc, indice et plant de la maniere suivante:

Bloc Indice Plant
06MAR088 1 2
06MAR088 2 2
06MAR088 3 2
06MAR088 4 3
06MAR088 5 3
06MAR088 6 4
06MAR088 7 4
06MAR088 8 4
06MAR088 9 4
06MAR088 10 4
06MAR088 11 4
06MAR088 12 4
06HER113 1 2
06HER113 2 2
06HER113 3 2
06HER113 4 3
06HER113 5 3
06HER113 6 4
06HER113 7 4
06HER113 8 4
06HER113 9 4
06HER113 10 4
06HER113 11 4
06HER113 12 4

donc une boucle et vous voyer...

merci







--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr





Avatar
Jessy Sempere
Re,

Merci Eric, comme un con, j'ai même pas regardé ma fonction avant de
répondre...

Par contre, vu que tu as fait une faute de frappe, je redonne la réponse :

Add_Bloc "leNomDeLaTable", "leNomduBloc"


@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Bonjour,

Il te faut 2 arguments. Le 1er est le nom de la table.

Add_Bloc "leNomDeLaTable, "leNomduBloc"

J'ai essayer ce que tu m'as dit mais ça plante en me disant que le nombre
d'argument n'est pas correct. as tu une bd sur laquelle je pourrais m'appuyer?

merci


Bonjour

Tu dois copier le code que je t'ai donné dans un module standard de ta base.

Ensuite, si tu veux le lancer dans du code, il te faut utiliser l'action
"exécuter code" et dans l'argument, tu mets :

Add_Bloc "leNomduBloc"


@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Comment on fait pour appeler cette fonction, je l'ai mis dans une macro mais
j'ai le message suivant: L'expression entrée comporte un nom de fonction
introuvable.


merci beaucoup


Bonjour

Le code ci-dessous devrait te convenir, il te suffit d'appeler la fonction
en mettant pour le premier argument le nom de la table de destination et dans
le 2ème argument, le nom du bloc à ajouter :

************************************
Function Add_Bloc(strTable As String, strBloc As String)

Dim rst As DAO.Recordset
Dim intIndice As Integer
Set rst = CurrentDb.OpenRecordset(strTable)

With rst
For intIndice = 1 To 12
.AddNew
.Fields("Bloc") = strBloc
.Fields("Indice") = indice
Select Case intIndice
Case 1 To 3
.Fields("Plant") = 2
Case 4 To 5
.Fields("Plant") = 3
Case Else
.Fields("Plant") = 4
End Select
.Update
Next
End With
rst.Close: Set rst = Nothing
End Function
************************************

@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Bonjour a tous, j'ai une table qui contient les champs Bloc, Indice et Plant,
dans laquelle je voudrais pour chaque bloc que je sélectionne inscrire dans
cette table le bloc, indice et plant de la maniere suivante:

Bloc Indice Plant
06MAR088 1 2
06MAR088 2 2
06MAR088 3 2
06MAR088 4 3
06MAR088 5 3
06MAR088 6 4
06MAR088 7 4
06MAR088 8 4
06MAR088 9 4
06MAR088 10 4
06MAR088 11 4
06MAR088 12 4
06HER113 1 2
06HER113 2 2
06HER113 3 2
06HER113 4 3
06HER113 5 3
06HER113 6 4
06HER113 7 4
06HER113 8 4
06HER113 9 4
06HER113 10 4
06HER113 11 4
06HER113 12 4

donc une boucle et vous voyer...

merci







--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr








Avatar
Eric
Bonjour Jessy,

Bien vu pour le guillemet manquant. Il m'a fallu pas moins de 5
relectures pour le voir.

Re,

Merci Eric, comme un con, j'ai même pas regardé ma fonction avant de
répondre...

Par contre, vu que tu as fait une faute de frappe, je redonne la réponse :

Add_Bloc "leNomDeLaTable", "leNomduBloc"


@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
macgiver
Merci a vous deux ça fonctionne


Re,

Merci Eric, comme un con, j'ai même pas regardé ma fonction avant de
répondre...

Par contre, vu que tu as fait une faute de frappe, je redonne la réponse :

Add_Bloc "leNomDeLaTable", "leNomduBloc"


@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Bonjour,

Il te faut 2 arguments. Le 1er est le nom de la table.

Add_Bloc "leNomDeLaTable, "leNomduBloc"

J'ai essayer ce que tu m'as dit mais ça plante en me disant que le nombre
d'argument n'est pas correct. as tu une bd sur laquelle je pourrais m'appuyer?

merci


Bonjour

Tu dois copier le code que je t'ai donné dans un module standard de ta base.

Ensuite, si tu veux le lancer dans du code, il te faut utiliser l'action
"exécuter code" et dans l'argument, tu mets :

Add_Bloc "leNomduBloc"


@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Comment on fait pour appeler cette fonction, je l'ai mis dans une macro mais
j'ai le message suivant: L'expression entrée comporte un nom de fonction
introuvable.


merci beaucoup


Bonjour

Le code ci-dessous devrait te convenir, il te suffit d'appeler la fonction
en mettant pour le premier argument le nom de la table de destination et dans
le 2ème argument, le nom du bloc à ajouter :

************************************
Function Add_Bloc(strTable As String, strBloc As String)

Dim rst As DAO.Recordset
Dim intIndice As Integer
Set rst = CurrentDb.OpenRecordset(strTable)

With rst
For intIndice = 1 To 12
.AddNew
.Fields("Bloc") = strBloc
.Fields("Indice") = indice
Select Case intIndice
Case 1 To 3
.Fields("Plant") = 2
Case 4 To 5
.Fields("Plant") = 3
Case Else
.Fields("Plant") = 4
End Select
.Update
Next
End With
rst.Close: Set rst = Nothing
End Function
************************************

@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l''''efficacité de tous :
http://www.mpfa.info/
------------------------------------



Bonjour a tous, j'ai une table qui contient les champs Bloc, Indice et Plant,
dans laquelle je voudrais pour chaque bloc que je sélectionne inscrire dans
cette table le bloc, indice et plant de la maniere suivante:

Bloc Indice Plant
06MAR088 1 2
06MAR088 2 2
06MAR088 3 2
06MAR088 4 3
06MAR088 5 3
06MAR088 6 4
06MAR088 7 4
06MAR088 8 4
06MAR088 9 4
06MAR088 10 4
06MAR088 11 4
06MAR088 12 4
06HER113 1 2
06HER113 2 2
06HER113 3 2
06HER113 4 3
06HER113 5 3
06HER113 6 4
06HER113 7 4
06HER113 8 4
06HER113 9 4
06HER113 10 4
06HER113 11 4
06HER113 12 4

donc une boucle et vous voyer...

merci







--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr










Avatar
macgiver
Puis-je passé en argument au niveau de mon nomdubloc une requête, car je ne
veux pas taper tous les nom de bloc donc je ferais une sélection de mes blocs
et s'il y en a 10 différents ma boucle s'effecturait sur tout ces bloc?

merci encore


Bonjour a tous, j'ai une table qui contient les champs Bloc, Indice et Plant,
dans laquelle je voudrais pour chaque bloc que je sélectionne inscrire dans
cette table le bloc, indice et plant de la maniere suivante:

Bloc Indice Plant
06MAR088 1 2
06MAR088 2 2
06MAR088 3 2
06MAR088 4 3
06MAR088 5 3
06MAR088 6 4
06MAR088 7 4
06MAR088 8 4
06MAR088 9 4
06MAR088 10 4
06MAR088 11 4
06MAR088 12 4
06HER113 1 2
06HER113 2 2
06HER113 3 2
06HER113 4 3
06HER113 5 3
06HER113 6 4
06HER113 7 4
06HER113 8 4
06HER113 9 4
06HER113 10 4
06HER113 11 4
06HER113 12 4

donc une boucle et vous voyer...

merci



Avatar
Jessy Sempere
Bonjour

Dans ton cas, il faut que tu te fasses une boucle pour lancer x fois la
fonction donnée...
Si tes valeurs à ajouter sont dans une table, il te suffit de faire un
recordset sur cette table et de faire une boucle pour parcourir chaque
enregistrement de ta table pour lancer à chaque fois la fonction...

Dis nous si c'est bien ça, comme ça on pourra te donner un exemple ?

@+
Jessy Sempere
------------------------------------
Site @ccess : http://access.fr.free.fr/
Pour l'efficacité de tous :
http://www.mpfa.info/
------------------------------------
"macgiver" a écrit dans le message de
news:
Puis-je passé en argument au niveau de mon nomdubloc une requête, car je
ne
veux pas taper tous les nom de bloc donc je ferais une sélection de mes
blocs
et s'il y en a 10 différents ma boucle s'effecturait sur tout ces bloc?

merci encore


Bonjour a tous, j'ai une table qui contient les champs Bloc, Indice et
Plant,
dans laquelle je voudrais pour chaque bloc que je sélectionne inscrire
dans
cette table le bloc, indice et plant de la maniere suivante:

Bloc Indice Plant
06MAR088 1 2
06MAR088 2 2
06MAR088 3 2
06MAR088 4 3
06MAR088 5 3
06MAR088 6 4
06MAR088 7 4
06MAR088 8 4
06MAR088 9 4
06MAR088 10 4
06MAR088 11 4
06MAR088 12 4
06HER113 1 2
06HER113 2 2
06HER113 3 2
06HER113 4 3
06HER113 5 3
06HER113 6 4
06HER113 7 4
06HER113 8 4
06HER113 9 4
06HER113 10 4
06HER113 11 4
06HER113 12 4

donc une boucle et vous voyer...

merci





1 2