Problème incrémentation chiffre et lettre

vassili

XLDnaute Occasionnel
Bonjour le forum,

Voila j'ai un soucis d'incrémentation de chiffre et de lettre en fonction de plusieurs combobox lors de l'insertion de n ligne.

C'est surement pas compliqué mais la je sèche un peu...

Les explications sont dans le fichier:

Regarde la pièce jointe TestVassili_v2.xls

En vous remerciant beaucoup par avance,

Vassili
 

Pièces jointes

  • TestVassili_v2.xls
    64.5 KB · Affichages: 64
  • TestVassili_v2.xls
    64.5 KB · Affichages: 61

vassili

XLDnaute Occasionnel
Re : Problème incrémentation chiffre et lettre

Bonjour tototiti2008,

Les données déjà insérées dans la feuille 1

produit1 piece1 fournisseurs1 1 Paris S1
produit1 piece1 fournisseurs1 2 Paris S2
produit1 piece1 fournisseurs1 3 Paris S3
produit1 piece1 fournisseurs1 4 Paris S4
produit1 piece1 fournisseurs1 5 Paris S5
produit1 piece1 fournisseurs1 6 Paris S6
produit1 piece1 fournisseurs1 7 Paris S7
produit1 piece1 fournisseurs1 8 Paris S8


Les données qui viennent d'être ajoutées via le formulaire sont les suivantes:

produit1 piece1 fournisseurs1 Paris S2
produit1 piece1 fournisseurs1 Paris S3
produit1 piece1 fournisseurs1 Paris S4
produit1 piece1 fournisseurs1 Paris S5
produit1 piece1 fournisseurs1 Paris S6

Ce que j'aimerais ce que cela fasse c'est que l'incrémentation se suivent si on ajoute des lignes en plus avec les même valeurs dans les colonnes A B C et E. Ainsi le résultat serait le suivant:

produit1 piece1 fournisseurs1 1 Paris S1
produit1 piece1 fournisseurs1 2 Paris S2
produit1 piece1 fournisseurs1 3 Paris S3
produit1 piece1 fournisseurs1 4 Paris S4
produit1 piece1 fournisseurs1 5 Paris S5
produit1 piece1 fournisseurs1 6 Paris S6
produit1 piece1 fournisseurs1 7 Paris S7
produit1 piece1 fournisseurs1 8 Paris S8
produit1 piece1 fournisseurs1 Paris S9
produit1 piece1 fournisseurs1 Paris S10
produit1 piece1 fournisseurs1 Paris S11
produit1 piece1 fournisseurs1 Paris S12
produit1 piece1 fournisseurs1 Paris S13

Voila j'éspère avoir été clair :)

A bientot,

Vassili
 

vassili

XLDnaute Occasionnel
Re : Problème incrémentation chiffre et lettre

C'est toujours S que l'on prendra, mais on incrémentera en fonction de la similarité des valeurs contenu entre les colonnes A B C et E.

Si on a deux lignes avec des valeurs similaires dans la feuille alors le S est incrémenté.

produit1 piece1 fournisseurs1 1 Paris S1
produit1 piece1 fournisseurs1 2 Paris S2

Si on a par la suite des valeurs différentes sur deux autres lignes alors on recommence l'incrémentation du S

produit1 piece1 fournisseurs2 1 Paris S1
produit1 piece1 fournisseurs2 2 Paris S2
 

tototiti2008

XLDnaute Barbatruc
Re : Problème incrémentation chiffre et lettre

Re,

Peut-être, dans la procédure ajout_ligne

Code:
        ' Récupération de la dernière valeur
        .Range("IV1").Formula = "=SUMPRODUCT((Feuil1!A1:A" & Dline & "=""" & UserForm1.ComboBox1.Text & """)*(Feuil1!B1:B" & Dline & _
            "=""" & UserForm1.ComboBox2.Text & """)*(Feuil1!C1:C" & Dline & "=""" & UserForm1.ComboBox3.Text & """)*(Feuil1!E1:E" & _
            Dline & "=""" & UserForm1.ComboBox4.Text & """))"
        numMax = .Range("IV1").Value
        .Range("IV1").ClearContents
 

vassili

XLDnaute Occasionnel
Re : Problème incrémentation chiffre et lettre

Re,

Avec le petit fichier que je t'ai joint sa marche trés bien mais lorsque que je le bascule sur un jeu de données beaucoup trop volumineux (que je ne peux pas déposer sur le topic) sa ne foncionne plus.

Je pense qu'il faudrait un fonction qui recherche les identifiants dans les combobox et comparent la valeur du S. Si on ajoute de nouvelles lignes et qu'il y en déjà dans la feuille alors on incrémente.

A bientot
 

vassili

XLDnaute Occasionnel
Re : Problème incrémentation chiffre et lettre

Re,

Je pense que la structure la plus approprié serait celle-ci mais cela ne fonctionne toujours pas :/
La formule que tu avait faite était bien pour quelque ligne mais pas pour plus de 1000 lignes.

Code:
' Récupération de la dernière valeur
        For lgLig = Dline To 1 Step -1
            If .Range("F" & lgLig).Value Like strLettre & "*" Then
                numMax = Replace(.Range("F" & lgLig).Value, strLettre, "")
                Exit For
            End If
        Next lgLig

A bientot
 

tototiti2008

XLDnaute Barbatruc
Re : Problème incrémentation chiffre et lettre

Re,

C'est précisément la partie du code que j'avais remplacée, et il semble que si tu as posté ici c'est que ça ne fonctionnait pas, non ?
Je ne vois pas pourquoi la formule proposée ne fonctionnerait pas sur 1000 lignes, mais peut-être trouves-tu que la méthode n'est pas assez VBA ? :)
On peut évidement faire la même chose avec des boucles mais je ne suis pas sûr que ce sera plus rapide

J'essaie et je te reviens

Edit :
Voilà, un essai :

Code:
        For lgLig = 1 To Dline
            If .Range("A" & lgLig).Value = UserForm1.ComboBox1.Text And _
                .Range("B" & lgLig).Value = UserForm1.ComboBox2.Text And _
                .Range("C" & lgLig).Value = UserForm1.ComboBox3.Text And _
                .Range("E" & lgLig).Value = UserForm1.ComboBox4.Text Then
                numMax = numMax + 1
            End If
        Next lgLig
 
Dernière édition:

vassili

XLDnaute Occasionnel
Re : Problème incrémentation chiffre et lettre

Re,

Avec le code que tu as posté sa marche pas bien car j'ai trouvé pourquoi. C'est qu'en faite j'ai oublié de préciser que j'ai plusieurs autres caractères sur cette colonne que le S, je te met un fichier joint:

Regarde la pièce jointe TestVassili_v3.xls

A bientot
 

Pièces jointes

  • TestVassili_v3.xls
    67 KB · Affichages: 72
  • TestVassili_v3.xls
    67 KB · Affichages: 64

tototiti2008

XLDnaute Barbatruc
Re : Problème incrémentation chiffre et lettre

Re,

ma question au message #4 :
Et si on choisit une autre lettre que S pour le secteur, ça doit recommencer à 1 ?
ta réponse au message #5 :
C'est toujours S que l'on prendra, mais on incrémentera en fonction de la similarité des valeurs contenu entre les colonnes A B C et E.
Donc pas de lien avec la colonne F

Et d'un coup, il peut y avoir des lettres différentes.... :mad:

à tester

Code:
        For lgLig = 1 To Dline
            If .Range("A" & lgLig).Value = UserForm1.ComboBox1.Text And _
                .Range("B" & lgLig).Value = UserForm1.ComboBox2.Text And _
                .Range("C" & lgLig).Value = UserForm1.ComboBox3.Text And _
                .Range("E" & lgLig).Value = UserForm1.ComboBox4.Text And _ 
                .Range("F" & lgLig).Value Like strLettre & "*" Then
                numMax = numMax + 1
            End If
        Next lgLig
 

vassili

XLDnaute Occasionnel
Re : Problème incrémentation chiffre et lettre

Sa marche sur mon fichier test mais pas sur le vrai fichier. J'ai des caractères spéciaux sur cette colonne comme le =, - et ° c'est peut etre sa qui fait que sa ne fonctionne pas. Sinon j'ai d'autres combobox dans ce formulaire et sur la vrai feuille j'ai 30 colonnes à peu près tu crois que sa peux venir de la ensuite?

Merci d'avance
 

Discussions similaires

Réponses
2
Affichages
224

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon