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

Saisie Guidée sur Excel ... mais pas de retour à la ligne :o(

6 réponses
Avatar
Jean LANNELUCQ
Bonjour à tous,

Je bricole en VBA mais mes limites sont très vite atteintes et j'aurai
besoin de vos compétences pour m'aider sur Excel (2002 SP3) donc je vous
sollicite et vous expose mon problème :

je voudrai compléter un tableau Excel à l'aide d'une boite de dialogue
qui insère les données dans les cellules cibles.
Cela va bien pour la première ligne mais je ne suis pas foutu de passer
à la ligne et de recommencer !!

Pourquoi cela ? pour aider mon épouse préférée (qui est intolérante au
gluten)à compléter ses fiches de remboursement de produits sans gluten.

Le tableau est de la colonne A à la colonne H et les données à saisir
commencent à partir de la ligne 11 (la ligne 10 contient les intitulé de
mes colonnes : Code, Nature, Quantité, Prix, Remboursement, Enseigne,
Code Enseigne, Commentaires)

Je suis arrivé à faire une boite de dialogue pour la saisie et quand je
clique sur le bouton SUIVANT, le code du produit se met dans la cellule
A11, la quantité dans la cellule C11, le prix payé dans la cellule D11,
l'enseigne (ou le produit a été acheté) en F11, le code enseigne en G11
et les commentaires en H11.

Comment continuer à faire cela en A12, A13, A14, A... ?

La macro que j'utilise est la suivante :

Sub TransfertDonnées()
Application.ScreenUpdating = False
Range("A10").Select
Selection.Value = ListeCode.Value
ActiveCell.Offset(0, 2).Range("A1").Select
Selection.Value = Quantité.Text
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.Value = Règlement.Text
ActiveCell.Offset(0, 2).Range("A1").Select
Selection.Value = ListeEnseigne.Value
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.Value = CodeEnseigne.Text
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.Value = Commentaire.Text
ActiveCell.Offset(1, -7).Range("A1").Select
Application.ScreenUpdating = True
End Sub



Merci d'avance de votre aide.

Bien cordialement

Jean

6 réponses

Avatar
Jacky
Bonsoir,
je voudrai compléter un tableau Excel à l'aide d'une boite de dialogue qui insère les données dans les
cellules cibles.



Il faudrait publier une copie brouillon du classeur sur
http://www.cijoint.fr/
Le formulaire dans le menu "Données" ne convient pas ?
--
Salutations
JJ


"Jean LANNELUCQ" a écrit dans le message de news:
4f36a5aa$0$21498$
Bonjour à tous,

Je bricole en VBA mais mes limites sont très vite atteintes et j'aurai besoin de vos compétences pour
m'aider sur Excel (2002 SP3) donc je vous sollicite et vous expose mon problème :

je voudrai compléter un tableau Excel à l'aide d'une boite de dialogue qui insère les données dans les
cellules cibles.
Cela va bien pour la première ligne mais je ne suis pas foutu de passer à la ligne et de recommencer !!

Pourquoi cela ? pour aider mon épouse préférée (qui est intolérante au gluten)à compléter ses fiches de
remboursement de produits sans gluten.

Le tableau est de la colonne A à la colonne H et les données à saisir commencent à partir de la ligne 11 (la
ligne 10 contient les intitulé de mes colonnes : Code, Nature, Quantité, Prix, Remboursement, Enseigne, Code
Enseigne, Commentaires)

Je suis arrivé à faire une boite de dialogue pour la saisie et quand je clique sur le bouton SUIVANT, le
code du produit se met dans la cellule A11, la quantité dans la cellule C11, le prix payé dans la cellule
D11, l'enseigne (ou le produit a été acheté) en F11, le code enseigne en G11 et les commentaires en H11.

Comment continuer à faire cela en A12, A13, A14, A... ?

La macro que j'utilise est la suivante :

Sub TransfertDonnées()
Application.ScreenUpdating = False
Range("A10").Select
Selection.Value = ListeCode.Value
ActiveCell.Offset(0, 2).Range("A1").Select
Selection.Value = Quantité.Text
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.Value = Règlement.Text
ActiveCell.Offset(0, 2).Range("A1").Select
Selection.Value = ListeEnseigne.Value
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.Value = CodeEnseigne.Text
ActiveCell.Offset(0, 1).Range("A1").Select
Selection.Value = Commentaire.Text
ActiveCell.Offset(1, -7).Range("A1").Select
Application.ScreenUpdating = True
End Sub



Merci d'avance de votre aide.

Bien cordialement

Jean
Avatar
Jean LANNELUCQ
Le 11/02/2012 20:46, Jacky a écrit :
Bonsoir,
je voudrai compléter un tableau Excel à l'aide d'une boite de dialogue qui insère les données dans les
cellules cibles.



Il faudrait publier une copie brouillon du classeur sur
http://www.cijoint.fr/
Le formulaire dans le menu "Données" ne convient pas ?




Le menu "Données" me fait perdre les listes déroulantes pour les codes
et les enseignes.

Le fichier est publié : http://cjoint.com/?BBmoXC2vnUy

Merci de vos pistes
Avatar
Jean LANNELUCQ
Le 11/02/2012 20:46, Jacky a écrit :
Bonsoir,
je voudrai compléter un tableau Excel à l'aide d'une boite de dialogue qui insère les données dans les
cellules cibles.



Il faudrait publier une copie brouillon du classeur sur
http://www.cijoint.fr/
Le formulaire dans le menu "Données" ne convient pas ?




Le menu "Données" me fait perdre les listes déroulantes pour les codes
et les enseignes.

Le fichier est publié : http://cjoint.com/?BBmoXC2vnUy

Merci de vos pistes
Avatar
Jacky
Re..
Il n'y a pas de saisie pour "Nature et remboursement"
Je n'ai repris que cette section....
Et ajouté une sub pour vider les box
'-----------------
Sub TransfertDonnées()
derlg = Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
If Me.ListeMois <> "" Then
With Sheets(ListeMois.Value)
Cells(derlg, 1) = Me.ListeCode.Value
Cells(derlg, 3) = Me.Quantité.Text
Cells(derlg, 4) = Me.Règlement.Text
Cells(derlg, 6) = Me.ListeEnseigne.Value
Cells(derlg, 7) = Me.CodeEnseigne.Text
Cells(derlg, 8) = Me.Commentaire.Text
End With
End If
End Sub
'------------------
Sub efface()
Me.ListeCode.Value = ""
Me.Quantité.Text = ""
Me.Règlement.Text = ""
Me.ListeEnseigne = ""
Me.CodeEnseigne.Text = ""
Me.Commentaire = ""
End Sub
'------------------------
Il serait indispensable qu'il ne figure aucune donnée autre que celle entrée par le formulaire dans les
tableaux (sous les saisies)
Ton classeur ici
http://cjoint.com/?BBmsxtcQcsA
--
Bon courage
JJ


"Jean LANNELUCQ" a écrit dans le message de news:
4f37c524$0$21460$
Le 11/02/2012 20:46, Jacky a écrit :
Bonsoir,
je voudrai compléter un tableau Excel à l'aide d'une boite de dialogue qui insère les données dans les
cellules cibles.



Il faudrait publier une copie brouillon du classeur sur
http://www.cijoint.fr/
Le formulaire dans le menu "Données" ne convient pas ?




Le menu "Données" me fait perdre les listes déroulantes pour les codes et les enseignes.

Le fichier est publié : http://cjoint.com/?BBmoXC2vnUy

Merci de vos pistes
Avatar
Jacky
Il manque quelques points .o))
"----------------
Sub TransfertDonnées()
If Me.ListeMois <> "" Then
With Sheets(ListeMois.Value)
derlg = .Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
.Cells(derlg, 1) = Me.ListeCode.Value
.Cells(derlg, 3) = Me.Quantité.Text
.Cells(derlg, 4) = Me.Règlement.Text
.Cells(derlg, 6) = Me.ListeEnseigne.Value
.Cells(derlg, 7) = Me.CodeEnseigne.Text
.Cells(derlg, 8) = Me.Commentaire.Text
End With
End If
End Sub
'-------------------

--
Salutations
JJ


"Jacky" a écrit dans le message de news: jh8so1$qgi$
Re..
Il n'y a pas de saisie pour "Nature et remboursement"
Je n'ai repris que cette section....
Et ajouté une sub pour vider les box
'-----------------
Sub TransfertDonnées()
derlg = Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
If Me.ListeMois <> "" Then
With Sheets(ListeMois.Value)
Cells(derlg, 1) = Me.ListeCode.Value
Cells(derlg, 3) = Me.Quantité.Text
Cells(derlg, 4) = Me.Règlement.Text
Cells(derlg, 6) = Me.ListeEnseigne.Value
Cells(derlg, 7) = Me.CodeEnseigne.Text
Cells(derlg, 8) = Me.Commentaire.Text
End With
End If
End Sub
'------------------
Sub efface()
Me.ListeCode.Value = ""
Me.Quantité.Text = ""
Me.Règlement.Text = ""
Me.ListeEnseigne = ""
Me.CodeEnseigne.Text = ""
Me.Commentaire = ""
End Sub
'------------------------
Il serait indispensable qu'il ne figure aucune donnée autre que celle entrée par le formulaire dans les
tableaux (sous les saisies)
Ton classeur ici
http://cjoint.com/?BBmsxtcQcsA
--
Bon courage
JJ


"Jean LANNELUCQ" a écrit dans le message de news:
4f37c524$0$21460$
Le 11/02/2012 20:46, Jacky a écrit :
Bonsoir,
je voudrai compléter un tableau Excel à l'aide d'une boite de dialogue qui insère les données dans les
cellules cibles.



Il faudrait publier une copie brouillon du classeur sur
http://www.cijoint.fr/
Le formulaire dans le menu "Données" ne convient pas ?




Le menu "Données" me fait perdre les listes déroulantes pour les codes et les enseignes.

Le fichier est publié : http://cjoint.com/?BBmoXC2vnUy

Merci de vos pistes




Avatar
Jean LANNELUCQ
Le 12/02/2012 18:26, Jacky a écrit :
Re..
Il n'y a pas de saisie pour "Nature et remboursement"
Je n'ai repris que cette section....
Et ajouté une sub pour vider les box
'-----------------
Sub TransfertDonnées()
derlg = Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
If Me.ListeMois<> "" Then
With Sheets(ListeMois.Value)
Cells(derlg, 1) = Me.ListeCode.Value
Cells(derlg, 3) = Me.Quantité.Text
Cells(derlg, 4) = Me.Règlement.Text
Cells(derlg, 6) = Me.ListeEnseigne.Value
Cells(derlg, 7) = Me.CodeEnseigne.Text
Cells(derlg, 8) = Me.Commentaire.Text
End With
End If
End Sub
'------------------
Sub efface()
Me.ListeCode.Value = ""
Me.Quantité.Text = ""
Me.Règlement.Text = ""
Me.ListeEnseigne = ""
Me.CodeEnseigne.Text = ""
Me.Commentaire = ""
End Sub
'------------------------
Il serait indispensable qu'il ne figure aucune donnée autre que celle entrée par le formulaire dans les
tableaux (sous les saisies)
Ton classeur ici
http://cjoint.com/?BBmsxtcQcsA



Grand merci Jacky!
Cela fonctionne et c'est propre !!

Ah ! que j'ai du chemin à faire avant d'arriver à cette concision !
Merci encore

Jean