Erreur 9

Fermé
quediantre - 19 févr. 2016 à 11:00
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 - 20 févr. 2016 à 16:02
Bonjour,

et merci tout d abord a tous les deux pour vos precieux conseils... que je me suis empressé de suivre...
Nouveau mess d'erreur
erreur 9 l indice n apparait pas dans la selection


Et alors ca y est ... je suis RE perdu...


Voici le lien de telechargement de ce a quoi j'aimerai arriver :
ds le premier déroulant se trouve les choix sur combox1
dans le deroulant combobox2 je souhaite juste integré "EN COURS" et ARCHIVE"

http://www.cjoint.com/c/FBtj2qbXxd1


Option Explicit
Dim Ws As Worksheet


Private Sub ComboBox1_Change()

End Sub

Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
ComboBox1.ColumnCount = 1
ComboBox1.List() = Array("ENTREPOT", "A01 DOM PERIGNON", "A02 SAINT EMILION", "A03 CHÂTEAU CHEVAL BLANC", "A04 DOMAINE PETRUS", "A05 CHÂTEAU LAFITE ROTHSCHIELD", "A06 CHÂTEAU FIGEAC", "A07 NUITS ST GEORGES", "A08 CRISTAL DE ROEDERER", "A09 COTE ROTIE", "A10 MAISON RUINART", "A11 DOMAINE ROMANEE CONTI", "A12 MOUTON ROTHSCHIELD", "A13 LA CARTHAGENE DE PAPE JACKY", "B01 PATRICK CASTRO", "B02 JACKY SIMEON", "B03 CHRISTIAN CHOMEL", "B04 JEAN MARC TOGNETTI", "B05 GOYA", "B06 FANFONNE GUILLIERME", "B07 TROPHEE DES AS", "B08 LA CAPELADO", "B09 LA COCARDE", "B10 CARMEN", "B11 LE TORIL", "B12 LES ARENES", "B13 DEJEUNER AUX PRES", "C01 ROGER COUDERC", "C02 JEAN PIERRE RIVES", "C03 DIMANCHE 15H", "C04 JEFF TORDO", "C05 LE CRUNCH", "C06 TOURNOI DES VI NATIONS", "C07 TOULON BEGLES 1992", "C08 DANIEL HERRERO", "B09 VINCENT MOSCATO", "B10 LE VESTIAIRE", "B11 LE CAMPHRE", "B12 LA 3eme MI TEMPS")
Set Ws = Sheets("BOX")
With Me.ComboBox1
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("A" & J)
Next J
End With
For I = 1 To 8
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub

Private Sub ComboBox2_Change()
Dim Ligne As Long
Dim I As Integer
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
ComboBox2 = Ws.Cells(Ligne, "B")
For I = 1 To 8
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 2)
Next I
End Sub
‘Pour le bouton Nouveau contact
Private Sub CommandButton1_Click()
Dim L As Integer
If MsgBox("Confirmez-vous l’insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
L = Sheets("Clients").Range("a65536").End(xlUp).Row + 1
Range("A" & L).Value = ComboBox1
Range("B" & L).Value = ComboBox2
Range("C" & L).Value = TextBox1
Range("D" & L).Value = TextBox2
Range("E" & L).Value = TextBox3
Range("F" & L).Value = TextBox4
Range("G" & L).Value = TextBox5
Range("H" & L).Value = TextBox6
Range("I" & L).Value = TextBox7
End If
End Sub
‘Pour le bouton Modifier
Private Sub CommandButton2_Click()
Dim Ligne As Long
Dim I As Integer
If MsgBox(« Confirmez-vous la modification de ce contact ? », vbYesNo, « Demande de confirmation de modification ») = vbYes Then
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
Ws.Cells(Ligne, « B ») = ComboBox2
For I = 1 To 7
If Me.Controls(« TextBox » & I).Visible = True Then
Ws.Cells(Ligne, I + 2) = Me.Controls(« TextBox » & I)
End If
Next I
End If
End Sub
‘Pour le bouton Quitter
Private Sub CommandButton3_Click()
Unload Me
End Sub

Private Sub UserForm_Click()

End Sub




Merci encooooore mille fois !!!

3 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
19 févr. 2016 à 11:03
Bonjour,

tu devrais rester sur le 1er post, pour que l'on s'y retrouve

voici l'erreur

For I = 1 To 8

mettre

For I = 1 To 7
0
désolé, j'ai bien opéré les modif de 1 to 7 mais... hélas meme erreur... suis deg... mais merci qd meme...
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
19 févr. 2016 à 11:15
Tu as oublié de modifier cela:

If MsgBox(« Confirmez-vous la modification de ce contact ? », vbYesNo, « Demande de confirmation de modification ») = vbYes Then 
If Me.ComboBox1.ListIndex = -1 Then Exit Sub 
Ligne = Me.ComboBox1.ListIndex + 2 
Ws.Cells(Ligne, « B ») = ComboBox2 
For I = 1 To 7 
If Me.Controls(« TextBox » & I).Visible = True Then 
Ws.Cells(Ligne, I + 2) = Me.Controls(« TextBox » & I) 
0
fait... et tjs cette satanée erreur... grrrr
Option Explicit
Dim Ws As Worksheet


Private Sub ComboBox1_Change()

End Sub

Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
ComboBox1.ColumnCount = 1
ComboBox1.List() = Array("ENTREPOT", "A01 DOM PERIGNON", "A02 SAINT EMILION", "A03 CHÂTEAU CHEVAL BLANC", "A04 DOMAINE PETRUS", "A05 CHÂTEAU LAFITE ROTHSCHIELD", "A06 CHÂTEAU FIGEAC", "A07 NUITS ST GEORGES", "A08 CRISTAL DE ROEDERER", "A09 COTE ROTIE", "A10 MAISON RUINART", "A11 DOMAINE ROMANEE CONTI", "A12 MOUTON ROTHSCHIELD", "A13 LA CARTHAGENE DE PAPE JACKY", "B01 PATRICK CASTRO", "B02 JACKY SIMEON", "B03 CHRISTIAN CHOMEL", "B04 JEAN MARC TOGNETTI", "B05 GOYA", "B06 FANFONNE GUILLIERME", "B07 TROPHEE DES AS", "B08 LA CAPELADO", "B09 LA COCARDE", "B10 CARMEN", "B11 LE TORIL", "B12 LES ARENES", "B13 DEJEUNER AUX PRES", "C01 ROGER COUDERC", "C02 JEAN PIERRE RIVES", "C03 DIMANCHE 15H", "C04 JEFF TORDO", "C05 LE CRUNCH", "C06 TOURNOI DES VI NATIONS", "C07 TOULON BEGLES 1992", "C08 DANIEL HERRERO", "B09 VINCENT MOSCATO", "B10 LE VESTIAIRE", "B11 LE CAMPHRE", "B12 LA 3eme MI TEMPS")
Set Ws = Sheets("BOX")
With Me.ComboBox1
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("A" & J)
Next J
End With
For I = 1 To 7
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub

Private Sub ComboBox2_Change()
Dim Ligne As Long
Dim I As Integer
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
ComboBox2 = Ws.Cells(Ligne, "B")
For I = 1 To 7
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 2)
Next I
End Sub
‘Pour le bouton Nouveau contact
Private Sub CommandButton1_Click()
Dim L As Integer
If MsgBox("Confirmez-vous l’insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
L = Sheets("Clients").Range("a65536").End(xlUp).Row + 1
Range("A" & L).Value = ComboBox1
Range("B" & L).Value = ComboBox2
Range("C" & L).Value = TextBox1
Range("D" & L).Value = TextBox2
Range("E" & L).Value = TextBox3
Range("F" & L).Value = TextBox4
Range("G" & L).Value = TextBox5
Range("H" & L).Value = TextBox6
Range("I" & L).Value = TextBox7
End If
End Sub
‘Pour le bouton Modifier
Private Sub CommandButton2_Click()
Dim Ligne As Long
Dim I As Integer
If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
Ws.Cells(Ligne, "B") = ComboBox2
For I = 1 To 7
If Me.Controls("TextBox" & I).Visible = True Then
Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
End If
Next I
End If
End Sub
‘Pour le bouton Quitter
Private Sub CommandButton3_Click()
Unload Me
End Sub

Private Sub UserForm_Click()

End Sub
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
19 févr. 2016 à 11:34
Mets ceci:

Option Explicit
Private Sub CommandButton1_Click()
Dim L As Integer
If MsgBox("Confirmez-vous l’insertion de ce nouveau contact ? ", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
L = Sheets("Clients").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
Range("A" & L).Value = ComboBox1
Range("B" & L).Value = ComboBox2
Range("C" & L).Value = TextBox1
Range("D" & L).Value = TextBox2
Range("E" & L).Value = TextBox3
Range("F" & L).Value = TextBox4
Range("G" & L).Value = TextBox5
Range("H" & L).Value = TextBox6
Range("I" & L).Value = TextBox7
End If
Columns(1).AutoFit
End Sub
Private Sub CommandButton2_Click()
Dim Ligne As Long
Dim I As Integer
Dim ws
Set ws = Sheets("Clients")
If MsgBox("Confirmez-vous la modification de ce contact ? ", vbYesNo, "Demande de confirmation de modification") = vbYes Then
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 1
ws.Cells(Ligne, "B") = ComboBox2
For I = 1 To 7
If Me.Controls("TextBox" & I).Visible = True Then
ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
End If
Next I
End If
End Sub
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
Dim ws
ComboBox1.ColumnCount = 1
ComboBox1.List() = Array("ENTREPOT", "A01 DOM PERIGNON", "A02 SAINT EMILION", "A03 CHÂTEAU CHEVAL BLANC", "A04 DOMAINE PETRUS", "A05 CHÂTEAU LAFITE ROTHSCHIELD", "A06 CHÂTEAU FIGEAC", "A07 NUITS ST GEORGES", "A08 CRISTAL DE ROEDERER", "A09 COTE ROTIE", "A10 MAISON RUINART", "A11 DOMAINE ROMANEE CONTI", "A12 MOUTON ROTHSCHIELD", "A13 LA CARTHAGENE DE PAPE JACKY", "B01 PATRICK CASTRO", "B02 JACKY SIMEON", "B03 CHRISTIAN CHOMEL", "B04 JEAN MARC TOGNETTI", "B05 GOYA", "B06 FANFONNE GUILLIERME", "B07 TROPHEE DES AS", "B08 LA CAPELADO", "B09 LA COCARDE", "B10 CARMEN", "B11 LE TORIL", "B12 LES ARENES", "B13 DEJEUNER AUX PRES", "C01 ROGER COUDERC", "C02 JEAN PIERRE RIVES", "C03 DIMANCHE 15H", "C04 JEFF TORDO", "C05 LE CRUNCH", "C06 TOURNOI DES VI NATIONS", "C07 TOULON BEGLES 1992", "C08 DANIEL HERRERO", "B09 VINCENT MOSCATO", "B10 LE VESTIAIRE", "B11 LE CAMPHRE", "B12 LA 3eme MI TEMPS")
Set ws = Sheets("BOX")
With Me.ComboBox1
For J = 2 To ws.Range("A" & Rows.Count).End(xlUp).Row
.AddItem ws.Range("A" & J)
Next J
End With
ComboBox1.ListIndex = 0
For I = 1 To 7
Me.Controls("TextBox" & I).Visible = True
Next I
ComboBox2.AddItem ("En cours")
ComboBox2.AddItem ("Archive")
ComboBox2.ListIndex = 0
End Sub
'Pour la liste déroulante Code client
Private Sub ComboBox2_Change()
Dim Ligne As Long
Dim I As Integer
Dim ws
Set ws = Sheets("Clients")
'If Me.ComboBox1.ListIndex = -1 Then Exit Sub
'Ligne = Me.ComboBox1.ListIndex + 1
'ComboBox2 = ws.Cells(Ligne, "B")
'For I = 1 To 7
'Me.Controls("TextBox" & I) = ws.Cells(Ligne, I + 2)
'Next I
End Sub

0
Bonsoir,
Et merci a vous pour votre réactivité mais hélas, le code que Pivert a eu la gentillesse de me donner ne fonctionne pas non plus.... toujours cette erreur 9 l indice n appartient pas a la selection....
une autre idée ?
0
Bonjour et merci pour le fichier.
Je n'ai plus d'erreur 9 alors que le fichier semble identique a ce que j'avais tapé !
Magique... de la sorcellerie !!
Merci et emile et Pivert pour leurs precieux conseils.
J'entends certain dire "merci vous m'avaez fait gagné des heures"... moi je crois plutot que c'est des jours voires des semaines que vous m'avez fait gagner. Donc sincerement mille merci

J'ai une derniere question, qui va vous sembler bien basique...
Sur j'ai en fait deux pages excel, la premiere concerne mes box et la secondes mes locataires (futurs), Dans la page prenons l'exemple du BOX1, plusieurs lignes seront affectées au BOX1, les locataire anciens comporteront dans leur ligne un menu deroulant ARCHIVES, le locataire actuel comportera dans la sa ligne EN COURS.

Ma question est la suivante : dans la page BOX, comment faire apparaitre dans la ligne du BOX1 le locataire en cours ?

Merci encore pour cette derniere contribution


Cédrick
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
20 févr. 2016 à 16:02
Mettre un nouveau bouton avec ce code:

Private Sub CommandButton3_Click()
Dim Lig     As Long
  Dim Col     As String
  Dim NbrLig  As Long
  Dim NumLig  As Long
  
  Sheets("BOX").Activate ' feuille de destination
  
  Col = "B"                 ' colonne données non vides à tester'
  NumLig = 1          'alors là ca doit etre le N° de la 1er ligne de données en comptant la ligne 1 = 0 .... ? '
  With Sheets("Clients")     ' feuille source'
  NbrLig = .Cells(65536, Col).End(xlUp).Row
  For Lig = 3 To NbrLig             'n° de la 1ere ligne de données'
    If .Cells(Lig, Col).Value = "En cours" Then
      .Cells(Lig, Col).EntireRow.Copy
      NumLig = NumLig + 1
      Sheets("BOX").Cells(NumLig, 1).Insert Shift:=xlDown
            'ici pour insérer ou  .Paste pour coller'
    End If
  Next
  End With
End Sub



@+ Le Pivert
0
cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
20 févr. 2016 à 07:46
Je ne peux pas télécharger ton classeur. Voilà un exemple:

http://www.cjoint.com/c/FBugTGxbpEQ
0