j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox
liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change()
If CboNom.ListIndex <> -1 Then
n = CboNom.Value
With Sheets("bdd").Range("nomsbdd")
Set c = .Find(n, LookIn:=xlValues)
If Not c Is Nothing Then
pos = c.Row
'blablabla
end if
End With
'blablbla
End if
End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change
'de se déclencher, du moins je le pensais...
Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie
CboNom.ListIndex = -1
End Sub
Donc :
1)quand on supprime la ligne, l'événement cbonom_change se déclenche
quand même et provoque bien sur une erreur puisque le nom a disparu...
Où faut-il donc placer cet enableevents=false pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler.
nomsbdd=DECALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien
en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !!
Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Un truc que je ne saisis pas bien, suite au EnableEvents úlse ... je ne vois pas à quel endroit tu remets les events à true? Tel que je le vois , suite à un CmdValider plus rien ne devrait se déclencher!? ...ou alors y a-t-il autre chose d'appelé ailleurs..?
'lSteph
"Misange" a écrit dans le message de news:
Bonjour j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change() If CboNom.ListIndex <> -1 Then n = CboNom.Value With Sheets("bdd").Range("nomsbdd") Set c = .Find(n, LookIn:=xlValues) If Not c Is Nothing Then pos = c.Row 'blablabla end if End With 'blablbla End if End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de se déclencher, du moins je le pensais... Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie CboNom.ListIndex = -1 End Sub
Donc : 1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand même et provoque bien sur une erreur puisque le nom a disparu... Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu -- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour Misange,
Un truc que je ne saisis pas bien, suite au EnableEvents úlse
... je ne vois pas à quel endroit tu remets les events à true?
Tel que je le vois , suite à un CmdValider plus rien ne devrait se
déclencher!?
...ou alors y a-t-il autre chose d'appelé ailleurs..?
'lSteph
"Misange" <misange@devinez-ou.net> a écrit dans le message de news:
uNo4JMbPFHA.3336@TK2MSFTNGP09.phx.gbl...
Bonjour
j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox
liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change()
If CboNom.ListIndex <> -1 Then
n = CboNom.Value
With Sheets("bdd").Range("nomsbdd")
Set c = .Find(n, LookIn:=xlValues)
If Not c Is Nothing Then
pos = c.Row
'blablabla
end if
End With
'blablbla
End if
End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de
se déclencher, du moins je le pensais...
Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie
CboNom.ListIndex = -1
End Sub
Donc :
1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand
même et provoque bien sur une erreur puisque le nom a disparu...
Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler.
nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien
en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini
!!
Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Un truc que je ne saisis pas bien, suite au EnableEvents úlse ... je ne vois pas à quel endroit tu remets les events à true? Tel que je le vois , suite à un CmdValider plus rien ne devrait se déclencher!? ...ou alors y a-t-il autre chose d'appelé ailleurs..?
'lSteph
"Misange" a écrit dans le message de news:
Bonjour j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change() If CboNom.ListIndex <> -1 Then n = CboNom.Value With Sheets("bdd").Range("nomsbdd") Set c = .Find(n, LookIn:=xlValues) If Not c Is Nothing Then pos = c.Row 'blablabla end if End With 'blablbla End if End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de se déclencher, du moins je le pensais... Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie CboNom.ListIndex = -1 End Sub
Donc : 1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand même et provoque bien sur une erreur puisque le nom a disparu... Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu -- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Alain CROS
Bonjour.
1) Application.EnableEvents = False empèche les événements de niveau application, Worksheet.Change etc ... mais pas les évènements des contrôles.
Private Sub CboNom_Change() If Application.EnableEvents then 'Le code End If
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change() If CboNom.ListIndex <> -1 Then n = CboNom.Value With Sheets("bdd").Range("nomsbdd") Set c = .Find(n, LookIn:=xlValues) If Not c Is Nothing Then pos = c.Row 'blablabla end if End With 'blablbla End if End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de se déclencher, du moins je le pensais... Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie CboNom.ListIndex = -1 End Sub
Donc : 1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand même et provoque bien sur une erreur puisque le nom a disparu... Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu -- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Bonjour.
1)
Application.EnableEvents = False empèche les événements de niveau application, Worksheet.Change etc ... mais pas les évènements des
contrôles.
Private Sub CboNom_Change()
If Application.EnableEvents then
'Le code
End If
"Misange" <misange@devinez-ou.net> a écrit dans le message de news: uNo4JMbPFHA.3336@TK2MSFTNGP09.phx.gbl...
Bonjour
j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox
liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change()
If CboNom.ListIndex <> -1 Then
n = CboNom.Value
With Sheets("bdd").Range("nomsbdd")
Set c = .Find(n, LookIn:=xlValues)
If Not c Is Nothing Then
pos = c.Row
'blablabla
end if
End With
'blablbla
End if
End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change
'de se déclencher, du moins je le pensais...
Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie
CboNom.ListIndex = -1
End Sub
Donc :
1)quand on supprime la ligne, l'événement cbonom_change se déclenche
quand même et provoque bien sur une erreur puisque le nom a disparu...
Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler.
nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien
en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !!
Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change() If CboNom.ListIndex <> -1 Then n = CboNom.Value With Sheets("bdd").Range("nomsbdd") Set c = .Find(n, LookIn:=xlValues) If Not c Is Nothing Then pos = c.Row 'blablabla end if End With 'blablbla End if End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de se déclencher, du moins je le pensais... Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie CboNom.ListIndex = -1 End Sub
Donc : 1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand même et provoque bien sur une erreur puisque le nom a disparu... Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu -- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Misange
Super voilà qui explique cela. je continue !
Pas d'idée pour le point N° 2 (a part éviter d'utiliser décaler dans ce cas...) ?
Merci Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 13:50, :
Bonjour.
1) Application.EnableEvents = False empèche les événements de niveau application, Worksheet.Change etc ... mais pas les évènements des contrôles.
Private Sub CboNom_Change() If Application.EnableEvents then 'Le code End If
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change() If CboNom.ListIndex <> -1 Then n = CboNom.Value With Sheets("bdd").Range("nomsbdd") Set c = .Find(n, LookIn:=xlValues) If Not c Is Nothing Then pos = c.Row 'blablabla end if End With 'blablbla End if End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de se déclencher, du moins je le pensais... Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie CboNom.ListIndex = -1 End Sub
Donc : 1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand même et provoque bien sur une erreur puisque le nom a disparu... Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu -- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Super voilà qui explique cela.
je continue !
Pas d'idée pour le point N° 2 (a part éviter d'utiliser décaler dans ce
cas...) ?
Merci
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 13:50, :
Bonjour.
1)
Application.EnableEvents = False empèche les événements de niveau application, Worksheet.Change etc ... mais pas les évènements des
contrôles.
Private Sub CboNom_Change()
If Application.EnableEvents then
'Le code
End If
"Misange" <misange@devinez-ou.net> a écrit dans le message de news: uNo4JMbPFHA.3336@TK2MSFTNGP09.phx.gbl...
Bonjour
j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox
liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change()
If CboNom.ListIndex <> -1 Then
n = CboNom.Value
With Sheets("bdd").Range("nomsbdd")
Set c = .Find(n, LookIn:=xlValues)
If Not c Is Nothing Then
pos = c.Row
'blablabla
end if
End With
'blablbla
End if
End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change
'de se déclencher, du moins je le pensais...
Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie
CboNom.ListIndex = -1
End Sub
Donc :
1)quand on supprime la ligne, l'événement cbonom_change se déclenche
quand même et provoque bien sur une erreur puisque le nom a disparu...
Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler.
nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien
en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !!
Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change() If CboNom.ListIndex <> -1 Then n = CboNom.Value With Sheets("bdd").Range("nomsbdd") Set c = .Find(n, LookIn:=xlValues) If Not c Is Nothing Then pos = c.Row 'blablabla end if End With 'blablbla End if End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de se déclencher, du moins je le pensais... Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie CboNom.ListIndex = -1 End Sub
Donc : 1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand même et provoque bien sur une erreur puisque le nom a disparu... Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu -- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Misange
Mon problème n'était pas jusqu'à présent de reautoriser les événements mais bel et bien de les désactiver. Evidemment il est prévu de le faire ;-)
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 13:14, :
Bonjour Misange,
Un truc que je ne saisis pas bien, suite au EnableEvents úlse ... je ne vois pas à quel endroit tu remets les events à true? Tel que je le vois , suite à un CmdValider plus rien ne devrait se déclencher!? ...ou alors y a-t-il autre chose d'appelé ailleurs..?
'lSteph
"Misange" a écrit dans le message de news:
Bonjour j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change() If CboNom.ListIndex <> -1 Then n = CboNom.Value With Sheets("bdd").Range("nomsbdd") Set c = .Find(n, LookIn:=xlValues) If Not c Is Nothing Then pos = c.Row 'blablabla end if End With 'blablbla End if End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de se déclencher, du moins je le pensais... Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie CboNom.ListIndex = -1 End Sub
Donc : 1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand même et provoque bien sur une erreur puisque le nom a disparu... Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu -- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Mon problème n'était pas jusqu'à présent de reautoriser les événements
mais bel et bien de les désactiver. Evidemment il est prévu de le faire ;-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 13:14, :
Bonjour Misange,
Un truc que je ne saisis pas bien, suite au EnableEvents úlse
... je ne vois pas à quel endroit tu remets les events à true?
Tel que je le vois , suite à un CmdValider plus rien ne devrait se
déclencher!?
...ou alors y a-t-il autre chose d'appelé ailleurs..?
'lSteph
"Misange" <misange@devinez-ou.net> a écrit dans le message de news:
uNo4JMbPFHA.3336@TK2MSFTNGP09.phx.gbl...
Bonjour
j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox
liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change()
If CboNom.ListIndex <> -1 Then
n = CboNom.Value
With Sheets("bdd").Range("nomsbdd")
Set c = .Find(n, LookIn:=xlValues)
If Not c Is Nothing Then
pos = c.Row
'blablabla
end if
End With
'blablbla
End if
End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de
se déclencher, du moins je le pensais...
Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie
CboNom.ListIndex = -1
End Sub
Donc :
1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand
même et provoque bien sur une erreur puisque le nom a disparu...
Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler.
nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien
en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini
!!
Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Mon problème n'était pas jusqu'à présent de reautoriser les événements mais bel et bien de les désactiver. Evidemment il est prévu de le faire ;-)
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 13:14, :
Bonjour Misange,
Un truc que je ne saisis pas bien, suite au EnableEvents úlse ... je ne vois pas à quel endroit tu remets les events à true? Tel que je le vois , suite à un CmdValider plus rien ne devrait se déclencher!? ...ou alors y a-t-il autre chose d'appelé ailleurs..?
'lSteph
"Misange" a écrit dans le message de news:
Bonjour j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change() If CboNom.ListIndex <> -1 Then n = CboNom.Value With Sheets("bdd").Range("nomsbdd") Set c = .Find(n, LookIn:=xlValues) If Not c Is Nothing Then pos = c.Row 'blablabla end if End With 'blablbla End if End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de se déclencher, du moins je le pensais... Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie CboNom.ListIndex = -1 End Sub
Donc : 1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand même et provoque bien sur une erreur puisque le nom a disparu... Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu -- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
LSteph
.. Cela je l'avais bien compris, et comme tu disais qu'il se redéclenchait malgré cela il semblait logique que ce soit ailleurs. Faute de t'avoir aidé, cela m' a permis, grâce à la réponse d'Alain de comprendre mieux et d'autres choses. Merci qd même.
lSteph
"Misange" a écrit dans le message de news: OE1D$
Mon problème n'était pas jusqu'à présent de reautoriser les événements mais bel et bien de les désactiver. Evidemment il est prévu de le faire ;-)
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 13:14, :
Bonjour Misange,
Un truc que je ne saisis pas bien, suite au EnableEvents úlse ... je ne vois pas à quel endroit tu remets les events à true? Tel que je le vois , suite à un CmdValider plus rien ne devrait se déclencher!? ...ou alors y a-t-il autre chose d'appelé ailleurs..?
'lSteph
"Misange" a écrit dans le message de news:
Bonjour j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change() If CboNom.ListIndex <> -1 Then n = CboNom.Value With Sheets("bdd").Range("nomsbdd") Set c = .Find(n, LookIn:=xlValues) If Not c Is Nothing Then pos = c.Row 'blablabla end if End With 'blablbla End if End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de se déclencher, du moins je le pensais... Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie CboNom.ListIndex = -1 End Sub
Donc : 1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand même et provoque bien sur une erreur puisque le nom a disparu... Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu -- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
..
Cela je l'avais bien compris, et comme tu disais qu'il se redéclenchait
malgré cela il semblait logique que ce soit ailleurs.
Faute de t'avoir aidé, cela m' a permis, grâce à la réponse d'Alain de
comprendre mieux et d'autres choses.
Merci qd même.
lSteph
"Misange" <misange@devinez-ou.net> a écrit dans le message de news:
OE1D$UcPFHA.1176@TK2MSFTNGP12.phx.gbl...
Mon problème n'était pas jusqu'à présent de reautoriser les événements
mais bel et bien de les désactiver. Evidemment il est prévu de le faire
;-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 13:14, :
Bonjour Misange,
Un truc que je ne saisis pas bien, suite au EnableEvents úlse
... je ne vois pas à quel endroit tu remets les events à true?
Tel que je le vois , suite à un CmdValider plus rien ne devrait se
déclencher!?
...ou alors y a-t-il autre chose d'appelé ailleurs..?
'lSteph
"Misange" <misange@devinez-ou.net> a écrit dans le message de news:
uNo4JMbPFHA.3336@TK2MSFTNGP09.phx.gbl...
Bonjour
j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox
liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche
:
Private Sub CboNom_Change()
If CboNom.ListIndex <> -1 Then
n = CboNom.Value
With Sheets("bdd").Range("nomsbdd")
Set c = .Find(n, LookIn:=xlValues)
If Not c Is Nothing Then
pos = c.Row
'blablabla
end if
End With
'blablbla
End if
End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change
'de se déclencher, du moins je le pensais...
Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie
CboNom.ListIndex = -1
End Sub
Donc :
1)quand on supprime la ligne, l'événement cbonom_change se déclenche
quand même et provoque bien sur une erreur puisque le nom a disparu...
Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler.
nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien
en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini
!!
Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
.. Cela je l'avais bien compris, et comme tu disais qu'il se redéclenchait malgré cela il semblait logique que ce soit ailleurs. Faute de t'avoir aidé, cela m' a permis, grâce à la réponse d'Alain de comprendre mieux et d'autres choses. Merci qd même.
lSteph
"Misange" a écrit dans le message de news: OE1D$
Mon problème n'était pas jusqu'à présent de reautoriser les événements mais bel et bien de les désactiver. Evidemment il est prévu de le faire ;-)
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 13:14, :
Bonjour Misange,
Un truc que je ne saisis pas bien, suite au EnableEvents úlse ... je ne vois pas à quel endroit tu remets les events à true? Tel que je le vois , suite à un CmdValider plus rien ne devrait se déclencher!? ...ou alors y a-t-il autre chose d'appelé ailleurs..?
'lSteph
"Misange" a écrit dans le message de news:
Bonjour j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change() If CboNom.ListIndex <> -1 Then n = CboNom.Value With Sheets("bdd").Range("nomsbdd") Set c = .Find(n, LookIn:=xlValues) If Not c Is Nothing Then pos = c.Row 'blablabla end if End With 'blablbla End if End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de se déclencher, du moins je le pensais... Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie CboNom.ListIndex = -1 End Sub
Donc : 1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand même et provoque bien sur une erreur puisque le nom a disparu... Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu -- Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Misange
eh eh , j'ai trouvé pour mon point 2 ;-) mais je vous le dirai pas ici... :-)
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 11:52, :
Bonjour j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change() If CboNom.ListIndex <> -1 Then n = CboNom.Value With Sheets("bdd").Range("nomsbdd") Set c = .Find(n, LookIn:=xlValues) If Not c Is Nothing Then pos = c.Row 'blablabla end if End With 'blablbla End if End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de se déclencher, du moins je le pensais... Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie CboNom.ListIndex = -1 End Sub
Donc : 1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand même et provoque bien sur une erreur puisque le nom a disparu... Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu
eh eh , j'ai trouvé pour mon point 2 ;-)
mais je vous le dirai pas ici... :-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 11:52, :
Bonjour
j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox
liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change()
If CboNom.ListIndex <> -1 Then
n = CboNom.Value
With Sheets("bdd").Range("nomsbdd")
Set c = .Find(n, LookIn:=xlValues)
If Not c Is Nothing Then
pos = c.Row
'blablabla
end if
End With
'blablbla
End if
End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change
'de se déclencher, du moins je le pensais...
Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie
CboNom.ListIndex = -1
End Sub
Donc :
1)quand on supprime la ligne, l'événement cbonom_change se déclenche
quand même et provoque bien sur une erreur puisque le nom a disparu...
Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler.
nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien
en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !!
Mais comment faire je vous le demande un peu ?
eh eh , j'ai trouvé pour mon point 2 ;-) mais je vous le dirai pas ici... :-)
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 11:52, :
Bonjour j'ai deux petits soucis:
j'ai un formulaire contenant une combo + deux ou trois bricoles (textbox liés à la valeur du combo). Quand on sélectionne un élément,ca déclenche :
Private Sub CboNom_Change() If CboNom.ListIndex <> -1 Then n = CboNom.Value With Sheets("bdd").Range("nomsbdd") Set c = .Find(n, LookIn:=xlValues) If Not c Is Nothing Then pos = c.Row 'blablabla end if End With 'blablbla End if End Sub
le userform contient un bouton validé qui quand il est cliqué lance ceci:
Private Sub CmdValider_Click()
Application.EnableEvents = False 'pour empecher la macro cbonom_change 'de se déclencher, du moins je le pensais... Sheets("bdd").Range(pos & ":" & pos).Delete Shift:=xlUp
'remise à 0 des boites de saisie CboNom.ListIndex = -1 End Sub
Donc : 1)quand on supprime la ligne, l'événement cbonom_change se déclenche quand même et provoque bien sur une erreur puisque le nom a disparu... Où faut-il donc placer cet enableeventsúlse pour que ça marche ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
un peu d'aide serait bienvenu
Alain CROS
Re.
Ma proposition ne convient pas ?
Alain CROS
Pas d'idée pour le point N° 2 (a part éviter d'utiliser décaler dans ce cas...) ?
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1) pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
evidement si tu supprime l'origine, normal alors que EXCEL patauge !!! il faut ruser ... et definir de façon dynamique le debut de plage par un autre décaler ... ;o))) solution intuitive : ÞCALER(DECALER(Bdd!$A$1;1;;;);;;NBVAL(Bdd!$A:$A)-1)
évidement si tu supprimes aussi la ligne 1 : .... #REF !!!!!
alors rusé pour rusé autant : ÞCALER(INDIRECT(ADRESSE(2;1));;;NBVAL(Bdd!$A:$A)-1)
;o))) ;-X
un peu d'aide serait bienvenu
Bonsour® Flo,
2)le contenu de la liste est défini de façon dynamique avec decaler.
nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien
en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus
défini !! Mais comment faire je vous le demande un peu ?
evidement si tu supprime l'origine, normal alors que EXCEL patauge !!!
il faut ruser ...
et definir de façon dynamique le debut de plage par un autre décaler ...
;o)))
solution intuitive :
ÞCALER(DECALER(Bdd!$A$1;1;;;);;;NBVAL(Bdd!$A:$A)-1)
évidement si tu supprimes aussi la ligne 1 : .... #REF !!!!!
alors rusé pour rusé autant :
ÞCALER(INDIRECT(ADRESSE(2;1));;;NBVAL(Bdd!$A:$A)-1)
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1) pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
evidement si tu supprime l'origine, normal alors que EXCEL patauge !!! il faut ruser ... et definir de façon dynamique le debut de plage par un autre décaler ... ;o))) solution intuitive : ÞCALER(DECALER(Bdd!$A$1;1;;;);;;NBVAL(Bdd!$A:$A)-1)
évidement si tu supprimes aussi la ligne 1 : .... #REF !!!!!
alors rusé pour rusé autant : ÞCALER(INDIRECT(ADRESSE(2;1));;;NBVAL(Bdd!$A:$A)-1)
;o))) ;-X
un peu d'aide serait bienvenu
Misange
ben j'avais pas vu ! et j'tais arrivée exactement au même point ;-) merci encore Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 15:11, :
Re.
Ma proposition ne convient pas ?
Alain CROS
Pas d'idée pour le point N° 2 (a part éviter d'utiliser décaler dans ce cas...) ?
ben j'avais pas vu ! et j'tais arrivée exactement au même point ;-)
merci encore
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 15:11, :
Re.
Ma proposition ne convient pas ?
Alain CROS
Pas d'idée pour le point N° 2 (a part éviter d'utiliser décaler dans ce
cas...) ?
ben j'avais pas vu ! et j'tais arrivée exactement au même point ;-) merci encore Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 15:11, :
Re.
Ma proposition ne convient pas ?
Alain CROS
Pas d'idée pour le point N° 2 (a part éviter d'utiliser décaler dans ce cas...) ?
Main non en fait j'ai trouvé plus simple que vous deux : Þcaler ($a$1;1;;nbval($a:$a)-1) (avec l'étiquette de colonne en A1) testé, ca fonctionne (aucun moyen de supprimer la ligne 1 ddans ce que je fais) ;-) Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 15:40, :
Bonsour® Flo,
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1) pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
evidement si tu supprime l'origine, normal alors que EXCEL patauge !!! il faut ruser ... et definir de façon dynamique le debut de plage par un autre décaler ... ;o))) solution intuitive : ÞCALER(DECALER(Bdd!$A$1;1;;;);;;NBVAL(Bdd!$A:$A)-1)
évidement si tu supprimes aussi la ligne 1 : .... #REF !!!!!
alors rusé pour rusé autant : ÞCALER(INDIRECT(ADRESSE(2;1));;;NBVAL(Bdd!$A:$A)-1)
;o))) ;-X
un peu d'aide serait bienvenu
Main non en fait j'ai trouvé plus simple que vous deux :
Þcaler ($a$1;1;;nbval($a:$a)-1) (avec l'étiquette de colonne en A1)
testé, ca fonctionne (aucun moyen de supprimer la ligne 1 ddans ce que
je fais)
;-)
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 15:40, :
Bonsour® Flo,
2)le contenu de la liste est défini de façon dynamique avec decaler.
nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1)
pb : si je supprime une ligne quelconque ça fonctionne très bien
en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus
défini !! Mais comment faire je vous le demande un peu ?
evidement si tu supprime l'origine, normal alors que EXCEL patauge !!!
il faut ruser ...
et definir de façon dynamique le debut de plage par un autre décaler ...
;o)))
solution intuitive :
ÞCALER(DECALER(Bdd!$A$1;1;;;);;;NBVAL(Bdd!$A:$A)-1)
évidement si tu supprimes aussi la ligne 1 : .... #REF !!!!!
alors rusé pour rusé autant :
ÞCALER(INDIRECT(ADRESSE(2;1));;;NBVAL(Bdd!$A:$A)-1)
Main non en fait j'ai trouvé plus simple que vous deux : Þcaler ($a$1;1;;nbval($a:$a)-1) (avec l'étiquette de colonne en A1) testé, ca fonctionne (aucun moyen de supprimer la ligne 1 ddans ce que je fais) ;-) Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 10/04/2005 15:40, :
Bonsour® Flo,
2)le contenu de la liste est défini de façon dynamique avec decaler. nomsbddÞCALER(bdd!$A$2;;;NBVAL(bdd!$A:$A)-1) pb : si je supprime une ligne quelconque ça fonctionne très bien en revanche si je supprime la ligne 2, du coup nomsbdd n'est plus défini !! Mais comment faire je vous le demande un peu ?
evidement si tu supprime l'origine, normal alors que EXCEL patauge !!! il faut ruser ... et definir de façon dynamique le debut de plage par un autre décaler ... ;o))) solution intuitive : ÞCALER(DECALER(Bdd!$A$1;1;;;);;;NBVAL(Bdd!$A:$A)-1)
évidement si tu supprimes aussi la ligne 1 : .... #REF !!!!!
alors rusé pour rusé autant : ÞCALER(INDIRECT(ADRESSE(2;1));;;NBVAL(Bdd!$A:$A)-1)