Incrémentation automatique

Fermé
cjerem01 Messages postés 9 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 20 mai 2014 - 14 mai 2014 à 14:20
cjerem01 Messages postés 9 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 20 mai 2014 - 20 mai 2014 à 11:20
Bonjour à tous,

voila j'ai un petit problème depuis quelque temps et n'étant absolument pas un pro du VBA je m'adresse à vos codes experts!

J'ai un tableau de 8 colonnes et de 10000 lignes, et je souhaiterai incrémenter un numéro (en partant du 1) automatiquement dans ma colonne A.
Ce numéro dois changer ( de 1 en 1) à chaque fois que l'information de ma colonne C change ( il s'agit d'un numéro d'écriture).

En espérant être assez claire !
Merci d'avance de vos réponse

Cjerem01



6 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
14 mai 2014 à 15:06
Bonjour,

Option Explicit
'------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lig As Integer
If Not Intersect(Target, Columns("A")) Is Nothing Then
Lig = Target.Row
Cells(Lig, "A") = Cells(Lig, "A") + 1
End If

End Sub

0
cjerem01 Messages postés 9 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 20 mai 2014
14 mai 2014 à 16:11
Bonjour Michel,

Merci de votre réponse et de votre rapidité...
Par contre j'ai un souci....cela ne fonctionne pas.
En effet, si je colle votre code après le sub () j'ai un message d'erreur : Erreur de compilation, Instruction incorrecte dans une procédure.

Si je supprime le Sub(), Option Explicit devient la première ligne et lorsque je vexu Executer ma fenetre pour choisir la macro s'ouvre mais il n'y en a aucune de créée...

Comme vous le constatez je n'y connais rien du tout!
Une idée de quoi cela vient il?
Merci encore de votre aide

Cjerem01
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 14/05/2014 à 18:55
Bonsoir

Ou avais je la t^te ? :o#
excuse moi

Option Explicit
'------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lig As Integer
If Intersect(Target, Columns("C")) Is Nothing Then Exit Sub
Lig = Target.Row
Cells(Lig, "A") = Cells(Lig, "A") + 1
End Sub
0
cjerem01 Messages postés 9 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 20 mai 2014
15 mai 2014 à 09:13
Bonjour Michel

J'ai de nouveau le même problème.....
Y aurait il quelque chose que je ne fais pas correctement ?!
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
15 mai 2014 à 10:16
Chez moi ca marche sans problème

la macro doit se trouver dans un module feuille



Pour installer:
copier la macro
clic droit sur le nom de l'onglet
visualiser le code
coller la macro

ma maquette de W
https://www.cjoint.com/?3Epkoijx97z
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cjerem01 Messages postés 9 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 20 mai 2014
15 mai 2014 à 11:05
Bonjour Michel,

Une fois de plus merci de votre réponse.
Je suis vraiment mauvais car cela ne fonctionne pas malgrès vos explications qui sont pourtant très claire....
Je vous joint mon classeur, si vous avez encore le courage et la gentillesse de m'aider...

http://cjoint.com/data3/3EplbtgffJK.htm
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
15 mai 2014 à 14:31
Bin, je viens d'essayer ca marche .... quand je change un nombre dans "asiento" ça s'incrémente 1 dans "documento "

tes macros sont elles activées ?
pour activer les macros sous XL>=2007

1/ Si l'onglet Développeur n'apparait pas dans le ruban:
Cliquer sur le bouton Office,
puis sur le bouton Options Excel.
Cliquer sur le menu Standard.
Cocher l'option Afficher l'onglet Développeur dans le ruban.
Cliquer sur le bouton OK pour valider.
2/ activer les macros
Cliquer sur le bouton Office,
puis sur le bouton Options Excel.
Cliquer sur centre de gestion de confidentialité
puis sur param^tre du centre de gestion de la confidentialité
puis cocher le bouton radio activer les macros
Cliquerz sur le bouton OK pour valider.
ton Excel est maintenant définitivement prêt à travailler avec des macros

si XL<2007
cocher menu options-macros-sécurité- niveau moyen
0
cjerem01 Messages postés 9 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 20 mai 2014
15 mai 2014 à 16:45
Ah je comprends mieux pourquoi ça ne marche pas chez moi!!
Je me suis mal exprimé, les informations de mon tableaux ne changent pas (c'est une extraction d'un logiciel), j'ai simplement ajouté la colonne A.
Et c'est dans cette colonne que je veux mettre une numérotation automatique de 1 en 1 à chaque fois que la valeur de la colonne C change.
Concretement, je veux un 1 dans la colonne Documento tant que la colonne Asiento contient le n° 78 388, ensuite un 2 pour le n°78728 etc.....
Merci de votre aide
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 15/05/2014 à 18:59
Ce n'est pas du tout le m^me problème ! comme quoi, le plus fondamental en Info est d'exprimer le contexte exhaustivement sans parasites: on appelle ça le "système d'information" (anciennement "analyse") et c'est ce qui est le + dur à rédiger

J'essaierai peut-^tre demain matin mais cela dépendra de ma santé; l'après -midi je vais à l'hosto assez lon de chez moi pour consulter un grand chef
0
cjerem01 Messages postés 9 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 20 mai 2014
15 mai 2014 à 20:16
Tu as raison Michel, merci de ton aide et bon courage pour demain...
0
cjerem01 Messages postés 9 Date d'inscription mardi 14 février 2006 Statut Membre Dernière intervention 20 mai 2014
20 mai 2014 à 11:20
Quelqu'un pourrait il m'aider?
Merci d'avance
0