Remplir Columnheads

Bonjour à tous,

J'aurais besoin de votre aide car dans mon fichier (que je vous ai joint) je n'arrive pas a mettre l'entête de mes tableaux dans des columnheads, enfaite le problème c'est que quand j'y arrive et que je clique sur un utilisateur j'ai une erreur et je n'arrive pas a la corriger

Je vous remercie d'avance pour l'aide que vous m'apporterez.

Ps : Les entêtes sont celle dans la feuille "BD" et je ne les ai pas remis dans mon code VBA.

Bonjour,

Je ne comprends pas ton problème, je n'arrive pas à reproduire l'erreur, peux-tu préciser ce qu'il faut faire pour que l'erreur s'affiche ?

Bonjour,

Je vous ai joint le fichier avec le problème et entouré les choses que j'ai pu rajouter.

Bonjour,

J'oubliais une précision, l'erreur se passe quand on clique sur le bouton "Modifier utilisateur" et qu'on clique sur un utilisateur.

Bonjour Diutaru,

J'ai un bug sur la ligne "Me.Enreg =":

Private Sub ListBox1_Click()
  For i = 1 To NbCol
    Me("textbox" & i) = Me.ListBox1.Column(i - 1)
  Next i
  Me.Enreg = Me.ListBox1.Column(i - 1)
End Sub

Je suppose que c'est pour celui-ci que tu veux de l'aide. tu as une boucle qui part de 1 jusqu'à NbCol qui est le nb de colonnes de la BD. Il y a 27 colonnes, mais quand le programme sort de la boucle, i est égal à 28, pour le voir, mets cette ligne juste après la boucle :

MsgBox i

La solution la plus simple est de faire ceci :

Me.Enreg = Me.ListBox1.Column(NbCol - 1)

Bonjour Benead,

D'abord merci pour la réponse que vous m'avez apporté.

Il s'agit d'un code que j'ai récupéré étant donné que je ne connaissais pas le VBA avant ce petit tableau.

Effectivement votre solution marche, mais pas lorsque je clique sur mes boutons "Valider modifications" et "Supprimer" j'ai une erreur d’exécution "13"

elle correspond a cette ligne la :

If Not Range(NomTableau).Item(Enreg, c).HasFormula Then

Dans la partie du code :

Private Sub B_valid_Click()
  Enreg = Me.Enreg
  For c = 1 To NbCol
   If Not Range(NomTableau).Item(Enreg, c).HasFormula Then
     tmp = Me("textbox" & c)
     If IsNumeric(Replace(tmp, ".", ",")) And InStr(tmp, " ") = 0 Then
        tmp = Replace(tmp, ".", ",")
        Range(NomTableau).Item(Enreg, c) = CDbl(tmp)
     Else
         If IsDate(tmp) Then
           Range(NomTableau).Item(Enreg, c) = CDate(tmp)
         Else
           Range(NomTableau).Item(Enreg, c) = tmp
         End If
     End If
    Else
     Range(NomTableau).Item(Enreg - 1, c).Copy
     Range(NomTableau).Item(Enreg, c).PasteSpecial Paste:=xlPasteFormats
    End If
  Next c
  MsgBox ("Utilisateur mis à jour")
  UserForm_Initialize
  'raz
End Sub

Après peut-être que ca ne viens pas d'ici mais ca m'a l'air d'être le bon endroit.

Cordialement.

Bonjour,

J'ai effectué un changement

j'ai modifié :

  Me.Enreg = Me.ListBox1.Column(NbCol - 1)

Par :

  Me.Enreg = Me.ListBox1.Column(NbCols - 1)

Mais désormais je dispose d'une autre erreur.

L'erreur que j'avais correspondait a mon numéro de ligne, il ne me récupérais pas le bon, désormais ma première ligne dispose du N°0 au lieu du N°1

L'erreur me renvoie a cette endroit la

   Me.ListBox1.List = TblBD

Et il est écrit : Erreur d’exécution "70" Permission refusée.

Peut-être que rajouter un s n'était pas forcément le bon choix, mais je pense que oui car mon N° de ligne était définis par ma dernière colonne et ne correspondait pas, il me récupérait un élément du tableau qui était Viewer par exemple.

Rechercher des sujets similaires à "remplir columnheads"