Erreur d'execution 13

Bonsoir à tous,

j'ai récupéré le code d'un classeur qui fonctionne trés bien; le but et d'incrémenter des numéros au format 000 / 2018

et au changement d'année le compteur reviens à zéro.

Je n'arrive pas à l'utiliser dans un autre classeur au lancement de l'userform j'ai une erreur

" erreur d'éxecution 13 incompatibilité de type"

Quelqu'un pourrais m'aider à trouver cette erreur?

Par avance merci.

Cordialement.

Bonsoir,

Pas été prévu pour fonctionner à partir de zéro...

Private Sub UserForm_Initialize()
    Dim NumVGP, vAnConf As Integer, Inc As Integer
    With Sheets("BD_VGP").Range("A" & Rows.Count).End(xlUp)
        NumVGP = Split(.Value & "/", "/")
    End With
    If Val(NumVGP(1)) = Year(Date) Then Inc = Val(NumVGP(0)) + 1 Else Inc = 1
    vAnConf = Year(Date)
    Me.Label_N_VGP = Format(Inc, "000") & " / " & vAnConf
End Sub

Comme tu n'as rien d'autre comme code, je ne vois pas comment se fait l'affectation à la cellule... ce numéro risque d'être converti en date !

Cordialement.

Bonsoir MFerrand,

merci pour l'aide ça fonctionne impeccable.

Effectivement la première ligne de ma base de données je vais la remplir directement dans la feuille sans passer par l'userform comme cela les numéros suivants s'incrémenteront automatiquement.

Pour l'affectation à la cellule ce sera via un userform, c'est juste un exemple que j'ai joint.

Encore un grand merci, j'avais posté également sur un autre forum et pour supprimer l'erreur d'execution 13 , on m'a dit de remplacer vAnConf As Integer par vAnConf As Date

Je n'ai plus l'erreur mais les numéros s'incrémentent pas, je vais donc utiliser votre code.

Un grand merci encore

Cordialement.

Avec le code que j'ai fait tu peux partir à zéro : la valeur récupérée sera l'en-tête, qui ne contient ni numéro ni année, on le splitte après ajout d'un "/" en fin, sur le caractère "/".

Dans le cas où il y avait un numéro de réf, on obtiendra un tableau de 3 éléments de base 0, l'élément 0 contiendra le numéro, qu'on évalue avec Val, l'élément 1 l'année qu'on évalue pareillement, et l'élément 2 qu'on a généré en ajoutant un "/" est vide et ne nous intéresse pas. On s'occupe des 2 premiers : si l'année est l'année en cours on incrémente, sinon on repart à 1.

Dans le cas où on tombe sur l'en-tête, qui ne contient pas de "/", le fait d'en ajouter un permet d'obtenir un tableau de 2 éléments dont le premier est du texte et le second est vide : l'évaluation avec Val de chaque élément va donner 0 dans les deux cas. L'année n'étant pas l'année en court on (re)part à 1.

Par contre, là où j'appelais ton attention, c'est que la chaîne 001 / 2018 pourra être interprétée comme étant de format m / aaaa, convertible en date et tu te retrouves alors avec l'affectation de 01/01/2018 qui formatée sans le jour apparaîtra : janv 2018... Il y a donc lieu de voir comment cela se passe lors de l'affectation...

Cordialement.

Rechercher des sujets similaires à "erreur execution"