Incrémentation de 1 sur la plus grande valeur

Bonjour,

j'aurais besoin d'un petit coup de main svp pour mettre en place une formule (pas de VBA si possible) pour laquelle je ne pensais pas galérer au départ.

Explication : dans le cadre d’inscription de joueur dans une association, je reprend le tableau de l'an dernier pour inscrire les joueurs anciens et nouveaux. N'ayant pas envie de re-saisir toutes les infos des joueurs de l'an dernier, je souhaiterais ne faire varier que le numéro de membre. J'aimerais donc qu'en colonne A le numéro de membre s'incrémente de 1 dès que le "type d'inscription" en colonne Z est renseigné.

Exemple pour mieux comprendre : un joueur qui est en position 10 dans mon tableau de l'an dernier est cette année le premier à s'inscrire, il faudrait donc que le numéro 1 s'inscrive dans la cellule A11 dès que j'ai renseigné son type d'inscription en cellule Z11, puis le 2ème joueur à venir s'inscrire était l'an dernier le 100ème, il faudrait donc que le n° 2 s'inscrive en cellule A101 dès que la cellule Z101 est renseignée.

J'ai testé des formules du type =si(Z1<>"";MAX(A1:A200)+1;"") mais bon c'est voué à l'échec.

Je pourrais très bien renseigné cette valeur manuellement mais maintenant que je me suis mis à chercher la solution par formule j'ai pas envie d'abandonner.

En vous remerciant par avance.

Oliv

bonjour

eventuellement remplace MAX par GRANDE. VALEUR

donc

SI(....... grande.valeurt( ta colonne; ligne(A1)) +1

tu n'oubleras pas de figer ta plage de valeur avec des $$ ;ne pas en mettre a ligne (a1) pour incrementation

cordialement

Bonjour,

j'ai pas tout saisi à ton explication...surtout pour la partie "ligne(A1)".

J'avais testé un truc avec grande.valeur mais le problème que je rencontre (qui est le même pour =max d'ailleurs) est la gestion des formules circulaires. Et même si j'active le calcul itératif dans les options d'excel, avec ta formule ça me met "#NOMBRE!" De plus, appliquer ce type de formule sur la même colonne incrémente de 1 l'ensemble de mes numéros. Enfin moi ça faisait ça en tout cas.

Merci pour ton aide.

re

dans ce cas founis un exemple en piece jointe

explicaton : ligne(a1) ne sert qu' a determiner le rang de la grande valeur ;ainsi en incrementant tu vas avoir avec ligne A1 la plus grosse valeur ; a la ligne d'en dessous :ligne a1 se tranforme en ligne A2 ,donc tu auras la 2eme ........ LIGNE se comporte comme une espece de" coeficient "

cordialement

Bonjour,

Bizarre ta façon de faire.

Pourquoi tu changes les n° tous les ans. En général on met un n° d'adhérent immuable.

Tu as un fichier pour comprendre ?

eric

bonjour Eriiic

En effet ;mais chacun sa combine ; à l'occasion la lecture du fichier revelera un scenario tout a fait classique 8) 8)

cordialement

Bonjour,

ça n'a rien de bizarre. Comme les nouveaux inscrits ne sont pas forcément des adhérents de l'année précédente, je redistribue des nouveaux numéros de membres à tout le monde.

Voici mon fichier d'exemple : la colonne A est celle à remplir et la colonne S est celle qui fournie la condition --> "si S est remplie alors j'incrémente le MAX de A de 1".

D'avance merci.

21exemple.zip (26.33 Ko)

En général on se contente d'ajouter les nouveaux inscrits...

Ton fichier n'inspire pas confiance :

25 08 2014 13 40 48

Tu peux en refaire un.

eric

Oula désolé, je ne sais pas ce qu'il s'est passé...

En PJ normalement celui-là devrait aller.

Merci.

20exemplebis.zip (5.04 Ko)

Bonjour,

Il suffit d'avoir une plage évolutive pour MAX :

=SI(F2<>"";MAX(A$1:A1)+1;"")

La plage devient A$1:A2 puis A$1:A3 ...etc

A+

Sans vba je ne vois pas.

eric

16exemple.zip (10.16 Ko)

Salut OOoiste,

ta formule fonctionne bien du moment qu'on renseigne dans un ordre uniquement croissant (de haut en bas).

Par exemple si je renseigne la ligne 1 puis 10 puis 5, ça dérègle.

Du coup ça ne répond malheureusement pas tout à fait à mon besoin.

Merci


Merci Eric, pas possible sans VBA selon toi donc...

Sinon ta solution vba semble bien fonctionner.

En te remerciant.

Olivier

J'ai du mal à imaginer comment mais qui sait...

eric

Bonjour,

je déterre mon sujet de 3 jours juste pour demander à Eric comment utiliser son code dans un autre classeur ?

Je ne comprend pas trop la procédure utilisée..

D'avance merci.

Olivier

Bonjour,

clic-droit sur le nom d'onglet, 'visualiser le code' et coller le code.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Column <> 6 Or Target.Row = 1 Then Exit Sub
    If Cells(Target.Row, 1) = "" Then
        Application.EnableEvents = False
        Cells(Target.Row, 1) = Application.CountA([F:F]) - 1
        Application.EnableEvents = True
    End If
End Sub

eric

Super merci beaucoup.

Olivier

Rechercher des sujets similaires à "incrementation grande valeur"