Ajout de noms limiter

Bonjour le Forum,

Avec mon USF j'ajoute de nouveau nom dans mes différents groupes (entre 20 et 30 groupes).

J'ai le droit d'avoir 40 noms par groupe.

Si un groupe arrive à 40 noms, j'aimerais avoir un message m'avertissant qu'il est impossible d'ajouter d'autre nom.

Les noms sont dans la feuille liste de la ligne 4 à 43 pour tous les groupes.

Si vous avez une idée, je suis preneur.

Bonne journée à vous tous

Balance58

Bonjour

remplacez votre code dans l'userform par celui-ci

Private Sub CommandButton1_Click()
Dim col as byte, dlig as byte
trouvecolonne (ComboBox1.Value)
col = trouvecolonne(ComboBox1.Value)
With Sheets("liste")
    dlig = .Cells(65536, col).End(xlUp).Row + 1
    If WorksheetFunction.CountA(.Range(.Cells(4, col), .Cells(dlig, col))) = 40 Then
        MsgBox "Le groupe ne peut avoir plus de 40 personnes ! Veuillez choisir un autre groupe": Exit Sub
    End If
    .Cells(dlig, col) = CDbl(TextBox1.Text)
    .Cells(dlig, col + 1) = TextBox2
    .Cells(dlig, col + 2) = TextBox3
End With
End Sub

Si ok et terminé, merci de cloturer le fil en cliquant sur le petit v en haut à droite

Cordialement

Bonjour Dan,

Merci pour ton code, mais il y avait un bug avec " dlig As byre "

Je l'ai supprimer et tout fonctionne correctement.

Merci à toi

Bonne journée à toi et au forum.

Balance58

Re,

Oups ...

Je l'ai supprimer et tout fonctionne correctement.

Non il ne faut pas,

Mettez BYTE à la place

j'ai corrigé dans le code

Crdlt

Re,

Ok merci Dan

Balance58

Re bonjour le forum,

Re bonjour Dan, ton code fonctionne bien sur mon fichier test.

J'ai été obligé de m'absenté jusqu'à maintenant et je viens de tester le code sur mon fichier original.

Et là j'ai un bug :

en jaune la ligne suivante

dlig = .Cells(65536, col).End(xlUp).Row + 1

Si tu as une idée pour me dépanner.

Merci

balance58

Re

Ce serait bien de voir le fichier mais peut être essayez déjà en changeant la variable dim dlig as byte par Dim dlig as long, idem pour la variable "col"

Crdlt

Bonsoir à tous,

Toujours pareil et mon fichier est très lourd et c'est un fichier du boulot.

Que veut dire exactement cette erreur.

dlig = .Cells(65536, col).End(xlUp).Row + 1

Balance58

Re

Que veut dire exactement cette erreur.

dlig = .Cells(65536, col).End(xlUp).Row + 1

Enlevez la dclaration de la variable "Dim col as byte". C'est un erreur de ma part car cette variable est dans la macro Function

Cordialement

Bonjour le forum,

bonjour Dan,

C'est bon j'ai trouver le code.

col = (ComboBox1.ListIndex * 12) + 2
    If Sheets("liste").Cells(65536, col).End(xlUp).Row = 43 Then
      MsgBox "Le groupe ne peut avoir plus de 40 personnes " & ComboBox1.Value & " Veuillez choisir un autre groupe.": Exit Sub
    Else
      dlig = Sheets("liste").Cells(65536, col).End(xlUp).Row + 1
      Sheets("liste").Cells(DLig, col) = CDbl(TextBox1.Text)
      Sheets("liste").Cells(DLig, col + 1) = TextBox2
      Sheets("liste").Cells(DLig, col + 2) = TextBox3
    End If

Merci

Bon après midi à toi et au Forum.

Balance58

Rechercher des sujets similaires à "ajout noms limiter"