Code vba

Résolu
mjouff -  
 Martial -
Bonjour,

Problème avec un code dans mon userform
nom ambigu détecté que faire

Private Sub TextBox1_AfterUpdate()
Cells(ligne, 1) = TextBox1

nom ambigu = ligne
pour info 3 userform avec 7 à 11 textbox identique 3 modules donc 3 feuil dans un fichier

Il est possible de joindre le fichier
Merci à vous
Configuration: Windows XP
Internet Explorer 7.0

7 réponses

  1. xav3601 Messages postés 3390 Statut Membre 312
     
    Bonjour,
    Tout d'abord, les differentes userform n'ont rien a voir les unes avec les autres au niveau des variables sauf si celles si sont declaré en global.
    Ma question serait:
    L'erreur apparait elle sur toute vos userform?
    0
    1. mjouff
       
      Oui
      erreur ambigu détecté apparait sur toute
      0
  2. xav3601 Messages postés 3390 Statut Membre 312
     
    Alors c'est surement que le nom de la variable doit être a un mot clé réservé dans VBA.
    Essaye de remplacer cette variable par une autre du genre :
    intRow
    et normalement ça devrais marcher je pense.
    0
    1. mjouff
       
      voulez-vous le fichier pour voir le problème je ne suis pas un bosssssss en Vba
      0
  3. xav3601 Messages postés 3390 Statut Membre 312
     
    avez vous essayé de changer le nom de la variable?
    0
    1. mjouff
       
      Oui et ca marche pas ou je me trompe
      0
  4. xav3601 Messages postés 3390 Statut Membre 312
     
    L'erreur est toujours la même?
    0
    1. mjouff
       
      oui voici la formul des l'Userform la formul


      Private Sub CommandButton1_Click()
      'Fermeture du formulaire
      UserForm1.Hide
      End Sub

      Private Sub TextBox1_AfterUpdate()
      Cells(ligne, 1) = TextBox1

      End Sub

      Private Sub TextBox2_AfterUpdate()
      Cells(ligne, 2) = TextBox2
      End Sub

      Private Sub TextBox3_AfterUpdate()
      Cells(ligne, 3) = TextBox3
      End Sub

      Private Sub TextBox4_AfterUpdate()
      Cells(ligne, 4) = TextBox4
      End Sub

      Private Sub TextBox5_AfterUpdate()
      Cells(ligne, 5) = TextBox5
      End Sub

      Private Sub TextBox6_AfterUpdate()
      Cells(ligne, 6) = TextBox6

      End Sub

      Private Sub TextBox7_AfterUpdate()
      Cells(ligne, 7) = TextBox7

      End Sub

      Private Sub TextBox8_AfterUpdate()
      Cells(ligne, 8) = TextBox8

      End Sub

      Private Sub UserForm_Activate()
      'Réinitialisation des champs du formulaire
      TextBox1 = ""
      TextBox2 = ""
      TextBox3 = ""
      TextBox4 = ""
      TextBox5 = ""
      TextBox6 = ""
      TextBox7 = ""
      TextBox8 = ""

      End Sub

      pouvez vous noter la formule SVP
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. xav3601 Messages postés 3390 Statut Membre 312
     
    Je pense que l'erreur viens du fait que vous utilisez :

    userform1.hide -> ne ferme pas la userform mais la cache, donc ligne est bien défini a plusieurs endroit en mm temps!

    Utilisez plutôt :
    unload userform1 qui ferme complètement la userform :)
    0
    1. mjouff
       
      Ca marche pas (erreur de compilation nom ambigu détecté : ligne)
      il y à aussi des modules avec le code

      'Définition de deux variables publiques
      'Une pour la ligne et l'autre pour la colonne pour placer le curseur
      'où l'on souhaite
      Public ligne, colonne
      Sub Bouton11_QuandClic()
      'Initialisation des variables pour placer le curseur en A2
      ligne = 2
      colonne = 1
      'Selection de la première cellule du tableau
      Range("A2").Select
      'Boucle itérative pour rouver la première cellule vide
      Do Until IsEmpty(Cells(ligne, colonne))
      'Incrémentation de la variale ligne (si non vide)
      ligne = ligne + 1
      Loop
      'Selection de la première cellule cide trouvée
      Cells(ligne, colonne).Select
      'Affichage du formulaire
      UserForm1.Show
      End Sub

      Si je sup 2 modules et 2 userforme ca marche bien
      je ne vois pas ou est le problème
      0
  7. xav3601 Messages postés 3390 Statut Membre 312
     
    Mais change le userform.hide en unload userform et change le nom de ta variable aussi!
    0
    1. mjouff
       
      Ca marche

      mais les valeurs ne s'affiche pas dans ma feuil !!!!!!
      0
  8. xav3601 Messages postés 3390 Statut Membre 312
     
    Essaye
    activesheet.cells(ligne, 1)
    0
    1. mjouff
       
      Non ca marche pas je cherche pourtant

      peut-être le module (non)

      peut-être Private Sub TextBox1_Introw ( ICI )

      :-)
      0
    2. Martial
       
      RE bonjour,

      la formul marche mais les valeur qui sont dans l'userform
      ne s'affiche pas dans ma feuil
      0