Bonjour à tous,
Pour doter une base de données d'une clef primaire, j'ai besoin de créer une
colonne qui introduirait un numéro incrémenté automatiquement.
Ce numéro ne peut pas être indexé sur le nombre de ligne (j'ai trouvé cette
solution qui ne marche pas) car si on supprime une ligne alors on crée un
doublon lors du prochain enregistrement (et ce n'est plus une clef
primaire).
Donc il faut que cette valeur soit égale à [la plus grande valeur numérique
de la colonne +1].
Ce qui est sûr c'est que tant qu'il n'y aura pas de suppression
d'enregistrement, la valeur sera identique à l'indexation des lignes.
Pouvez-vous m'aider SVP ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour ManBas,
Pouquoi as-tu besoin d'une telle routine dans Excel. Si ton seul souci est de pouvoir exporter tes données dans une table access, si cette table possède comme clé primaire un champ numérotation automatique, tu n'as nul besoin de définir ce champ dans Excel. Access se charge d'incrémenter ses entrées au fur et à mesure qu'elles se font.
Salutations!
"ManBas" a écrit dans le message de news: Bonjour à tous, Pour doter une base de données d'une clef primaire, j'ai besoin de créer une colonne qui introduirait un numéro incrémenté automatiquement. Ce numéro ne peut pas être indexé sur le nombre de ligne (j'ai trouvé cette solution qui ne marche pas) car si on supprime une ligne alors on crée un doublon lors du prochain enregistrement (et ce n'est plus une clef primaire). Donc il faut que cette valeur soit égale à [la plus grande valeur numérique de la colonne +1]. Ce qui est sûr c'est que tant qu'il n'y aura pas de suppression d'enregistrement, la valeur sera identique à l'indexation des lignes. Pouvez-vous m'aider SVP ?
Merci beaucoup +++
Bonjour ManBas,
Pouquoi as-tu besoin d'une telle routine dans Excel. Si ton seul souci est de pouvoir exporter tes données dans une table access, si
cette table possède comme clé primaire un champ numérotation automatique, tu n'as nul besoin de définir ce champ dans Excel. Access
se charge d'incrémenter ses entrées au fur et à mesure qu'elles se font.
Salutations!
"ManBas" <nonospam-j.ragni@wanadoo.fr> a écrit dans le message de news: ORd3Dum3FHA.2432@TK2MSFTNGP10.phx.gbl...
Bonjour à tous,
Pour doter une base de données d'une clef primaire, j'ai besoin de créer une
colonne qui introduirait un numéro incrémenté automatiquement.
Ce numéro ne peut pas être indexé sur le nombre de ligne (j'ai trouvé cette
solution qui ne marche pas) car si on supprime une ligne alors on crée un
doublon lors du prochain enregistrement (et ce n'est plus une clef
primaire).
Donc il faut que cette valeur soit égale à [la plus grande valeur numérique
de la colonne +1].
Ce qui est sûr c'est que tant qu'il n'y aura pas de suppression
d'enregistrement, la valeur sera identique à l'indexation des lignes.
Pouvez-vous m'aider SVP ?
Pouquoi as-tu besoin d'une telle routine dans Excel. Si ton seul souci est de pouvoir exporter tes données dans une table access, si cette table possède comme clé primaire un champ numérotation automatique, tu n'as nul besoin de définir ce champ dans Excel. Access se charge d'incrémenter ses entrées au fur et à mesure qu'elles se font.
Salutations!
"ManBas" a écrit dans le message de news: Bonjour à tous, Pour doter une base de données d'une clef primaire, j'ai besoin de créer une colonne qui introduirait un numéro incrémenté automatiquement. Ce numéro ne peut pas être indexé sur le nombre de ligne (j'ai trouvé cette solution qui ne marche pas) car si on supprime une ligne alors on crée un doublon lors du prochain enregistrement (et ce n'est plus une clef primaire). Donc il faut que cette valeur soit égale à [la plus grande valeur numérique de la colonne +1]. Ce qui est sûr c'est que tant qu'il n'y aura pas de suppression d'enregistrement, la valeur sera identique à l'indexation des lignes. Pouvez-vous m'aider SVP ?
Merci beaucoup +++
jb
Bonjour,
Il faut créer un onglet 'Compteur' et gérer un compteur dans la cellule A2 e.g.
Sub compteur() Sheets("compteur").Range("A2") = Sheets("compteur").Range("A2") + 1 Sheets("bd").Range("A65536").End(xlUp).Offset(1, 0) =Sheets("compteur").Range("A2") ActiveWorkbook.Save End Sub
On obtient:
No Nom 1 Dupont 2 Martin 3 Espinasse
Autre solution: Génère une clé alpha 0004 e.g.
Sub compteur() Sheets("compteur").Range("A2") = Sheets("compteur").Range("A2") + 1 Sheets("bd").Range("A65536").End(xlUp).Offset(1, 0) = "'" & Format(Sheets("compteur").Range("A2"), "0000") End Sub
Cordialement JB
Bonjour,
Il faut créer un onglet 'Compteur' et gérer un compteur dans la
cellule A2 e.g.
Sub compteur()
Sheets("compteur").Range("A2") = Sheets("compteur").Range("A2") + 1
Sheets("bd").Range("A65536").End(xlUp).Offset(1, 0)
=Sheets("compteur").Range("A2")
ActiveWorkbook.Save
End Sub
On obtient:
No Nom
1 Dupont
2 Martin
3 Espinasse
Autre solution: Génère une clé alpha 0004 e.g.
Sub compteur()
Sheets("compteur").Range("A2") = Sheets("compteur").Range("A2") + 1
Sheets("bd").Range("A65536").End(xlUp).Offset(1, 0) = "'" &
Format(Sheets("compteur").Range("A2"), "0000")
End Sub
Il faut créer un onglet 'Compteur' et gérer un compteur dans la cellule A2 e.g.
Sub compteur() Sheets("compteur").Range("A2") = Sheets("compteur").Range("A2") + 1 Sheets("bd").Range("A65536").End(xlUp).Offset(1, 0) =Sheets("compteur").Range("A2") ActiveWorkbook.Save End Sub
On obtient:
No Nom 1 Dupont 2 Martin 3 Espinasse
Autre solution: Génère une clé alpha 0004 e.g.
Sub compteur() Sheets("compteur").Range("A2") = Sheets("compteur").Range("A2") + 1 Sheets("bd").Range("A65536").End(xlUp).Offset(1, 0) = "'" & Format(Sheets("compteur").Range("A2"), "0000") End Sub
Cordialement JB
ManBas
Bonjour JB, ..."et voilàààà...." (roulements de tambours et de cymbales). Comme d'habitude, simple, génial. Je viens d'apprendre le compteur. Pour répondre à Michdenis, le but est de travailler dans XL sur des applications monoposte dont chacune a sa clef primaire composée par le nom du poste et le numéro incrémenté. Le regroupement des données pourra être fait ensuite dans Access. Merci beaucoup. A bientôt.
PS: je croyais avoir déjà répondu tôt ce matin mais peut-être ai-je fait une fausse manoeuvre? "jb" a écrit dans le message de news:
Bonjour,
Il faut créer un onglet 'Compteur' et gérer un compteur dans la cellule A2 e.g.
Sub compteur() Sheets("compteur").Range("A2") = Sheets("compteur").Range("A2") + 1 Sheets("bd").Range("A65536").End(xlUp).Offset(1, 0) =Sheets("compteur").Range("A2") ActiveWorkbook.Save End Sub
On obtient:
No Nom 1 Dupont 2 Martin 3 Espinasse
Autre solution: Génère une clé alpha 0004 e.g.
Sub compteur() Sheets("compteur").Range("A2") = Sheets("compteur").Range("A2") + 1 Sheets("bd").Range("A65536").End(xlUp).Offset(1, 0) = "'" & Format(Sheets("compteur").Range("A2"), "0000") End Sub
Cordialement JB
Bonjour JB,
..."et voilàààà...." (roulements de tambours et de cymbales).
Comme d'habitude, simple, génial. Je viens d'apprendre le compteur.
Pour répondre à Michdenis, le but est de travailler dans XL sur des
applications monoposte dont chacune a sa clef primaire composée par le nom
du poste et le numéro incrémenté. Le regroupement des données pourra être
fait ensuite dans Access.
Merci beaucoup.
A bientôt.
PS: je croyais avoir déjà répondu tôt ce matin mais peut-être ai-je fait
une fausse manoeuvre?
"jb" <boisgontier@hotmail.com> a écrit dans le message de news:
1130824249.740093.105030@g44g2000cwa.googlegroups.com...
Bonjour,
Il faut créer un onglet 'Compteur' et gérer un compteur dans la
cellule A2 e.g.
Sub compteur()
Sheets("compteur").Range("A2") = Sheets("compteur").Range("A2") + 1
Sheets("bd").Range("A65536").End(xlUp).Offset(1, 0)
=Sheets("compteur").Range("A2")
ActiveWorkbook.Save
End Sub
On obtient:
No Nom
1 Dupont
2 Martin
3 Espinasse
Autre solution: Génère une clé alpha 0004 e.g.
Sub compteur()
Sheets("compteur").Range("A2") = Sheets("compteur").Range("A2") + 1
Sheets("bd").Range("A65536").End(xlUp).Offset(1, 0) = "'" &
Format(Sheets("compteur").Range("A2"), "0000")
End Sub
Bonjour JB, ..."et voilàààà...." (roulements de tambours et de cymbales). Comme d'habitude, simple, génial. Je viens d'apprendre le compteur. Pour répondre à Michdenis, le but est de travailler dans XL sur des applications monoposte dont chacune a sa clef primaire composée par le nom du poste et le numéro incrémenté. Le regroupement des données pourra être fait ensuite dans Access. Merci beaucoup. A bientôt.
PS: je croyais avoir déjà répondu tôt ce matin mais peut-être ai-je fait une fausse manoeuvre? "jb" a écrit dans le message de news:
Bonjour,
Il faut créer un onglet 'Compteur' et gérer un compteur dans la cellule A2 e.g.
Sub compteur() Sheets("compteur").Range("A2") = Sheets("compteur").Range("A2") + 1 Sheets("bd").Range("A65536").End(xlUp).Offset(1, 0) =Sheets("compteur").Range("A2") ActiveWorkbook.Save End Sub
On obtient:
No Nom 1 Dupont 2 Martin 3 Espinasse
Autre solution: Génère une clé alpha 0004 e.g.
Sub compteur() Sheets("compteur").Range("A2") = Sheets("compteur").Range("A2") + 1 Sheets("bd").Range("A65536").End(xlUp).Offset(1, 0) = "'" & Format(Sheets("compteur").Range("A2"), "0000") End Sub