Concaténation

emilepetit31 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
Bruno83200_6929 Messages postés 725 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour, 

Je fais du sur place avec ce code

sNumdoc est une chaîne
sNumdoc="CERTV" + DateDuJour()
nMafinId est un entier
HLitDernier(sNumdoc,LIB_IDperso2)
SI Gauche(Presence.IDperso,13)= sNumdoc ALORS
    nMafinId=Taille(Presence.IDperso)-13
    nMafinId= Droite(Presence.IDperso,nMafinId)
    nMafinId+=1
    Presence.IDperso=sNumdoc+nMafinId
SINON
    Presence.IDperso=sNumdoc+1
    FIN

Ça me renvoi ceci

Help me, merci

1 réponse

  1. Bruno83200_6929 Messages postés 725 Date d'inscription   Statut Membre Dernière intervention   171
     

    Bonjour, 

    Personnellement, je choisirai d'autres arguments pour arriver à ton but :

    DateVersChaine : J'utilise DateVersChaine pour formater la date en YYYYMMDD. Si tu veux un autre format, modifie ce paramètre.


    Longueur de sNumdoc : J'utilise Longueur(sNumdoc) pour être sûr que la comparaison avec Gauche prend bien le nombre exact de caractères.


    Conversion en entier : Après avoir extrait la partie numérique avec Droite, je l'ai convertie en entier avant l'incrémentation.


    Concaténation avec un entier : Lors de la concaténation avec sNumdoc, j'ai veillé à ce que la partie numérique soit bien sous forme de chaîne de caractères.

    Ce qui donnerait quelque chose  comme :

    sNumdoc est une chaîne
    sNumdoc = "CERTV" + DateVersChaine(DateDuJour(), "YYYYMMDD")  // Utilisation de la date formatée

    nMafinId est un entier
    HLitDernier(sNumdoc, LIB_IDperso2)

    // Vérifie si les 13 premiers caractères de IDperso correspondent à sNumdoc
    SI Gauche(Presence.IDperso, Longueur(sNumdoc)) = sNumdoc ALORS
        // Calcul du nombre de caractères restants après le préfixe
        nMafinId = Taille(Presence.IDperso) - Longueur(sNumdoc)
        // Extraction de la partie numérique et conversion en entier
        nMafinId = Entier(Droite(Presence.IDperso, nMafinId))
        nMafinId += 1  // Incrémentation de l'ID
        // Construction du nouvel IDperso
        Presence.IDperso = sNumdoc + nMafinId
    SINON
        // Premier numéro généré
        Presence.IDperso = sNumdoc + "1"
    FIN
     


    0