Incrémenter des cellules en fonction du contenu d'autres

Bonjour à toutes et à tous,
Je suis nouveau sur ce forum, et je content de me retrouver avec vous.
Mon problème et le suivant:
CL1 CL2 CL3
AD_ECH.: B 1 - 4

J’ai trois cellules CL1, CL2 et CL3, au faite, ça représente l’adresse de mon échantillon de production. L’objectif est le suivant:

La cellule CL1 contient des lettres de A, B, C…etc
La cellule CL contient les chiffres de 1 à 7
La cellule CL3 contient des chiffre de 1 à 5
Lorsque CL1 contient « A », elle doit maintenir cette valeur jusqu’à ce que CL2 arrive à 7 puis elle passe à « B » et CL2 passe à 1.
CL2 s’incrémente de 1 lorsque CL3 arrive à 5.
CL3 une fois elle arrive à 5, elle doit revenir à la valeur 1.

Je voudrai svp soit une formule soit une macro soit un code VBA pour réaliser cette tâche.
Merci pour votre aide.

Bonjour,

Une proposition avec des formules (la première ligne de valeurs en « dur » puis formules
Incrémentations.xlsx (14,5 Ko)

Bonjour ouisansdoute,

Je vous remercie infiniment, sauf que le travail se fait sur les mêmes cellules CL1,CL2 et CL3, ma cellule CL3 s’incrémente automatiquement à chaque fois que je réinitialise ma feuille, donc les cellules CL2 et CL3 doivent changer automatiquement selon les conditions que j’ai donné.

Merci

Bonjour

Testes ce classeur

Onglet « Feuil1 » j’ai masqué les colonnes jusqu’à la colonne CL

En CL1 j’ai intégré la lettre A
Fait tes essais en CL2 et CL3

Testes et dis moi

Classeur1.xlsm (15,2 Ko)

Bonjour FFO,

Je te remercie pour ton aide, ça marche très bien, il y à juste deux remarques:
1°) l’adresse A 1 - 5 doit être marquée avant que la cellule CL2 change de valeur, sinon je n’aurai jamais les adresses de type: A1-5, A2-5…etc.
2°) La cellule CL1 ne doit pas s’arrêter à « B », elle doit prendre les valeurs A, B, C,D…etc.
Merci encore pour ton excellent travail.

Bonjour FFO,
Encore merci infiniment, j’ai pu arranger les deux points dont je t’ai parlé, ci-dessous le code final qui a résolu tous le problème:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = Range(« CL2 »).Address Then
If Target > 7 Then
Range(« CL1 ») = Chr$(Asc(Range(« CL1 »)) + 1)
Range(« CL2 ») = 1
End If
End If
If Target.Address = Range(« CL3 »).Address Then
If Target > 5 Then
Range(« CL2 ») = Range(« CL2 ») + 1
Range(« CL3 ») = 1
End If
End If
End Sub

Bonjour
Je vois qu’on y tate un peu
Bravo !!!
J’envisageais pour le premier point une autre piste
Mais ta solution est parfaite

Ravi que tu ais satisfaction

N’oublies pas de valider ma réponse c’est bien agréable

A bientôt peut être

Bravo à toi aussi FFO, c’est résolu, la fonction marche à merveille dans mon programme.
Merci encore une fois et à très bientôt.

Tout le plaisir était pour moi
À bientôt pour une nouvelle collaboration