Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Automatiser une grille

0 views
Skip to first unread message

Jean Martin

unread,
May 26, 2003, 7:18:21 AM5/26/03
to
Bonjour,

Dans une feuille "Facture" d'un classeur "Factures 2003", j'ai en colonne IM
à IU une base de données "clients" (nommée 'tableClients') et construite
selon le schéma suivant:
IM = numéro, IN = alias, IO = Nom et prénom, IP = adresse1, IQ = adresse2,
IR = code postal, IS = localité, IT = pays et IU = Code TVA.

Lors de l'établissement d'une facture, le client est appelé par une zone de
liste modifiable.

Lorsqu'il s'agit d'un nouveau client, j'aimerais un code qui me renvoie
dans la base (sélectionner IM7, par exemple), qui ouvre le menu
Données/Grille puis "Nouvelle" et introduise dans le premier champ un
nouveau numéro défini par la formule =MAX(IM$2:IM65536)+1.

Il n'y aurait plus ainsi qu'à introduire les nouvelles données dans la
grille pour les autres informations

Merci du coup de main.

Jean


Ellimac

unread,
May 26, 2003, 8:27:34 AM5/26/03
to
Bonjour,

Tu peux créer une macro qui va rajouter ton nouveau client.

Sub Ajout()
Range("IM60000").Select
Selection.End(xlUp).Select
Selection.EntireRow.Insert
ActiveCell.FormulaR1C1 = InputBox("Numéro")
ActiveCell.Offset(0, 1).FormulaR1C1 = InputBox("alias")
ActiveCell.Offset(0, 1).FormulaR1C1 = InputBox("nom
prénom")
ActiveCell.Offset(0, 1).FormulaR1C1 = InputBox
("adresse1")
...
End Sub

Et relier ta macro à un bouton.

Camille
>-----Message d'origine-----

>.
>

ChrisV

unread,
May 26, 2003, 8:45:45 AM5/26/03
to
Bonjour Jean Martin,

En supposant que la BdD débute en ligne 2 (la ligne 1 étant réservée aux
étiquettes de colonne, numéro, alias, etc...)

Sub zaza()
With Sheets("Facture")
.Activate
SendKeys "%DG%N" & [IN65536].End(xlUp).Row
.ShowDataForm
End With
End Sub


ChrisV


"Jean Martin" <GHA.R...@skynet.be> a écrit dans le message de news:
3ed1f6c5$0$26712$ba62...@reader1.news.skynet.be...

Jean Martin

unread,
May 26, 2003, 4:55:29 PM5/26/03
to
Bonjour,

Merci pour la proposition. Je l'ai d'abord retranscrite telle quelle. Mais
le résultat de chaque inputbox écrasait le résultat précédent.
J'ai dû , pour chaque ActiveCell, construire une ligne
"Offset(0,1).Range("A1").Select" et une ligne: "FormulaR1C1 =
InputBox(.....). Ca ressemble à une litanie, mais ça marche.

Merci.

"Ellimac" <Ellimac_cremelier@hotùail.com> a écrit dans le message de
news:202201c32382$2fa99770$a001...@phx.gbl...

Jean Martin

unread,
May 26, 2003, 5:01:37 PM5/26/03
to

Bonjour Chris,

J'ai essayé ta proposition. Mais telle qu'elle est, elle bloque dans
l'exécution, sur ShowDataForm.
Je ne parviens pas à ouvrir la Grille.

Peut-être as-tu une solution?

A+

Jean

"ChrisV" <chr...@wanadoo.fr> a écrit dans le message de
news:OwlmwS4I...@tk2msftngp13.phx.gbl...

sabatier

unread,
May 26, 2003, 6:08:14 PM5/26/03
to
tiens, tiens, camille serait-il le père brossollette?
jps

Jean Martin a écrit:

ChrisV

unread,
May 26, 2003, 6:17:24 PM5/26/03
to
Re,

Humm... testée sous XP, no problemo...
Message ou numéro d'erreur ?


ChrisV


"Jean Martin" <jean....@pandora.be> a écrit dans le message de news:
RgvAa.21010$1u5....@afrodite.telenet-ops.be...

sabatier

unread,
May 26, 2003, 6:22:59 PM5/26/03
to
peut-être l'oubli du . (point) devant ShowDataForm...
jps (qui se mêle vraiment de ce qui ne le ShowDataForm pas)


ChrisV a écrit:

Modeste

unread,
May 27, 2003, 3:05:59 AM5/27/03
to
Bonjour,
plusieurs possibilités possibilités :
1- mettre le curseur dans la zone de données avant de
lancer la macro
il suffira de répondre oui à la question concernant les
entetes

2- ajouter dans la proc et au début :
Application.DisplayAlerts = False

3- nommer la plage des données : "Base_de_Données"
(nécessaire quand la plage ne commence pas en A1)

la conjugaison des 3 solutions résoudra assurement les
problemes !!!

@+
@+

>-----Message d'origine-----

>.
>

Jean Martin

unread,
May 27, 2003, 8:56:05 AM5/27/03
to
> Re,
>
> Humm... testée sous XP, no problemo...
> Message ou numéro d'erreur ?

Voici le message
Erreur d'exécution '1004'
La méthode ShowDataForm de la classe Worksheet a échoué

Un clic sur "débogage" jaunit .ShowDataForm

Jean

0 new messages