eastpeople
Messages postés105Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 novembre 2008
-
16 juin 2008 à 14:49
eastpeople
Messages postés105Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 novembre 2008
-
16 juin 2008 à 16:18
Bonjour tout le monde,
j'ai un problème sur un code, en fait j'ai ce code:
Private Sub OK_Click()
Dim Recherche As Range
Set Recherche = Sheets("abonnements").Cells.Find(type_dact.Text, LookIn:=xlValues, LookAt:=xlWhole)
If type_dact = "" Then
erreur = MsgBox("Le choix d'une activité est obligatoire", vbOKOnly + vbCritical, "OUPS")
ElseIf Not Recherche Is Nothing Then
Range("A" & Recherche.Row).Copy
Sheets("calculs").Range("B2").PasteSpecial
Range("B" & Recherche.Row & ":F" & Recherche.Row).Copy
Sheets("calculs").Range("B4").PasteSpecial
End If
Unload UTIL
REPONSE.Show
End Sub
Et quand je lance le userform UTIL puis que je click sur OK, le userform REPONSE doit s'ouvrir mais il me met erreur 424 et il me souligne la ligne REPONSE.show. J'ai vérifié les noms des userform mais je ne trouve pas mon erreur.
Merci de votre aide.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 16 juin 2008 à 15:12
Salut
Erreur 424 = Un objet est requis (la prochaine fois, donne aussi le texte de l'erreur)
Cela peut venir d'une erreur de programme dans le code de cette forme, l'erreur ne vient pas forcément de la commande elle même.
Pour savoir sur quelle instruction :
Positionne ta souris (+ simple clic) sur la ligne REPONSE.Show puis appuie sur F9
Le code s'arrêtera sur cette ligne au prochain passage
A ce moment là, appuie sur F8 pour exécuter les instructions qui suivent une à une.
Tu verras où se produit l'erreur.
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 16 juin 2008 à 15:14
Si l'erreur se produit sur REPONSE.Show, c'est que cette forme n'appartient pas au projet.
Est-ce que, quand tu écris REPONSE suivi du point, la liste des évènements apparait bien dans l'éditeur ?
Si oui, pas de souci, l'objet REPONSE existe bien
Si non, faut vérifier où se trouve cette UserForm
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
eastpeople
Messages postés105Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 novembre 2008 16 juin 2008 à 15:46
Oui merci, c'était dans mon code initialize.
Par contre j'ai un probleme sur ce code
Private Sub OK_Click()
Dim Recherche As Range
Set Recherche = Sheets("abonnements").Cells.Find(type_dact.Text, LookIn:=xlValues, LookAt:=xlWhole)
If type_dact = "" Then
erreur = MsgBox("Le choix d'une activité est obligatoire", vbOKOnly + vbCritical, "OUPS")
ElseIf Not Recherche Is Nothing Then
Range("A" & Recherche.Row).Copy
Sheets("calculs").Range("B2").PasteSpecial
Range("B" & Recherche.Row & ":F" & Recherche.Row).Copy
Sheets("calculs").Range("B4").PasteSpecial
End If
Unload UTIL
REPONSE.Show
End Sub
Je voudrais que quand une activité n'est pas saisie il met une msgbox ça il le fait mais quand je click sur OK il passe au user suivant. Alors que je veux qu'il reste sue le userform util.
Merci
eastpeople
Messages postés105Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 novembre 2008 16 juin 2008 à 16:05
OK merci beaucoup et un dernier truc sur cette fenêtre.
J'ai un gros problème.
Private Sub UserForm_Initialize()
Dim i As Integer, DerniereLigne As Integer
Dim Ws As Worksheet
Set Ws = Sheets("Abonnements")
DerniereLigne = Ws.Range("A65536").End(xlUp).Row + 1
For i = 2 To DerniereLigne
If Range("A" & i).Value <> vbNullString Then
type_dact.AddItem Range("A" & i).Value
End If
Next i
End Sub
Ce code marche mais il est satisfaisant seulement quand la feuille abonnements est en fond quand c'est la feuille calculs qui est en fond dans la liste box il y a marqué les valeurs de la colonne A de la feuille calculs.
Merci de votre aide