Fausse incrémentation suite à une suppression des données

Bonjour,

Voici un tableau contenant une colonne qui s'incrémente en fonction de valeur de cellule "resultat test" (succes, echec) l'incrémentation se fait de la manière suivante: 0001,0002,0003....0015...0102... en cas de "succes"

En cas d'echec, aucune incrémentation, sachant qu'au debut de la nouvelle année l'incrémentation recommence à partir de 0001

une très bonne solution a été proposé par notre ami "Jean Eriic" pour que l'incrémentation fonctionne correctement, mais j'ai remarqué qu'un un cas de figure peut survenir, voici un exemple (montré dans le fichier joint):

Supposant que vous avez commencé à remplir le tableau de la manière suivante:

  • ligne 8, resultat test "echec".............. cellule vide
  • ligne 10, resultat test "succes".......... valeur du numéro d'incrémentation est 0001
  • ligne 7, resultat test "succes"............. valeur du numéro d'incrémentation est 0002
  • ligne 11, resultat test "succes"............ valeur du numéro d'incrémentation est 0003
  • ligne 5, resultat test "succes"............ valeur du numéro d'incrémentation est 0004
Jusqu'au là l'application fonctionne correctement,

Mais supposant que vous avez remarqué une faute au niveau du tableau et qu'il faut supprimer la valeur résultat test de la ligne 7 (et peut être bien le numéro d'incrémentation dans la même ligne ), à ce niveau une erreur va survenir: par la suite le choix du valeur "succes" dans la ligne 12, provoque une duplication de la dernière valeur "0004"(dans la même année 2017),

Que faut il faire dans ce cas pour que la nouvelle valeur s'incrémente suite à cette suppression des données ??

Est il possible de récupérer le numéro de l'attestation supprimé (0002 dans cet exemple) et l'affecter pour une nouvelle ligne toujours dans la même année (lorsque le resultat test est "succes" ) et continuer après l'incrémentation de la même manière sans qu'il y ait de doublons dans la même année.

Je serais reconnaissant pour toute aide de votre part

14test2.xlsm (34.02 Ko)

Hi,

Quid d'une petite verif préalable du style

dim i%, derligne%

with thisworkbook.activesheet
derligne = .range("C" & rows.count).end(xlup).row
for i = 1 to derligne
If .range("C" & i).value <> "" then
.range("B" & i).value = "succes"
elseif .range("C" & i).value = "" then
.range("B" & i).value = "echec"
end if
next i
end with

De cette manière on est certain que la colonne "résultat test" est bien remplie au regard de la présence ou non de chiffre dans la colonne "numéro incrémentation".

Merci Kit pour la réponse,

Pouvez vous m'indiquer où faut il ajouter ce dernier code pour l'application fonctionne

En début de macro, voir créer une macro dédiée et l'appeler avant la macro de Jean-Eric, puisque son but est de "mettre en ordre" la colonne succes/echec avant que la macro de J-E s'en serve (enfin si j'ai bien compris ton soucis).

J'ai essayé de le faire mais j'ai reçu un message d'erreur

CI Joint une capture d'ecran

resultat compilation

Ah ben si tu le mets à part faut encadrer avec sub.

Sub nom_de_ma_macro

la macro

End sub

Edith : Ou private sub si tu mets ça directement dans la feuille. Perso j'ai tendance à tout mettre dans un module.

Permettez moi de demander plus de détails,

Que devient le code final à ajouter s'il faut l'encadrer avec sub

j'ai pas compris la modification qu'il faut apporter


Voici qu'est ce que j'ai fais

mais toujours le meme problème, doublons du dernier numéro incrémenté suite à une suppression de la valeur de resultat test dans une ligne antérieure

resultat test
Rechercher des sujets similaires à "fausse incrementation suite suppression donnees"