VBA Excel fonction call + userform
Fermé
aurelie76
Messages postés
88
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
13 mai 2017
-
10 janv. 2009 à 18:47
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 10 janv. 2009 à 22:43
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 10 janv. 2009 à 22:43
A voir également:
- VBA Excel fonction call + userform
- Excel fonction si et - Guide
- Liste déroulante excel - Guide
- Fonction moyenne excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
5 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
10 janv. 2009 à 21:55
10 janv. 2009 à 21:55
bonjour
La "fonction" Call n'est pas en cause car tu ne lui passe aucun paramètre, ce que tu pourrais rajouter.
Si tu veux garder des valeurs dans des variables il faut que ce soit des variables générales définies pour le projet.
La "fonction" Call n'est pas en cause car tu ne lui passe aucun paramètre, ce que tu pourrais rajouter.
Si tu veux garder des valeurs dans des variables il faut que ce soit des variables générales définies pour le projet.
aurelie76
Messages postés
88
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
13 mai 2017
3
10 janv. 2009 à 22:03
10 janv. 2009 à 22:03
bonsoir gbinforme,
merci pour ta réponse, je suis actuellement bien bloqué, le pb c'est que je suis dans une boucle qui "balaye" toutes les cellules d'une colonne avec un for I= 1 to ....et lorsqu'il ya une cellule de vide, je veux par une fonction call, ouvrir un userform avec des cases à cocher pour forcer le choix de l'utilisateur et quand je reviens dans le programme principal je perd la valeur de I. En tout cas, un grand merci pour ton aide, je me pose la question de savoir si j'utilise une bonne démarche, peut être que je me complique inutilement ????
bonne soirée Gbinforme
aurelie76
merci pour ta réponse, je suis actuellement bien bloqué, le pb c'est que je suis dans une boucle qui "balaye" toutes les cellules d'une colonne avec un for I= 1 to ....et lorsqu'il ya une cellule de vide, je veux par une fonction call, ouvrir un userform avec des cases à cocher pour forcer le choix de l'utilisateur et quand je reviens dans le programme principal je perd la valeur de I. En tout cas, un grand merci pour ton aide, je me pose la question de savoir si j'utilise une bonne démarche, peut être que je me complique inutilement ????
bonne soirée Gbinforme
aurelie76
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
10 janv. 2009 à 22:11
10 janv. 2009 à 22:11
bonjour
quand je reviens dans le programme principal je perd la valeur de I.
Parce que ton I n'est pas correctement défini : il faut qu'il soit défini dans un module par exemple
Dans ce cas tu as une variable globale qui est valide sur toutes les procédures du projet
quand je reviens dans le programme principal je perd la valeur de I.
Parce que ton I n'est pas correctement défini : il faut qu'il soit défini dans un module par exemple
Public I as Long
Dans ce cas tu as une variable globale qui est valide sur toutes les procédures du projet
aurelie76
Messages postés
88
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
13 mai 2017
3
10 janv. 2009 à 22:25
10 janv. 2009 à 22:25
Rebonsoir Gbinforme,
je remet le bout de code : en fait ma variable est R , je "balaye"dans la feuille 1 toutes les cellules de la colonne 6 et pour chaque cellule je cherche la valeur dans la feuille 2, si cette valeur n'est pas trouvée, j'ouvre une nouvelle procédure avec un userform et des optionbutton (pour renseigner la cellule vide) et quand je reviens dans le prog principal la valeur R n'est plus reconnue. Je ne sais pas comment définir correctement la variable R comme tu me le préconises, si tu peux m'éclairer, merci beaucoup.
For R = 2 To lastrow Step 1
Cells(R, 6).Select
article = ActiveCell.Value
Sheets("feuil2").Select
Cells.Select
Application.DisplayAlerts = False
On Error Resume Next
Selection.Find(What:=article, After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
If (Err.Number > 0) Then
Call Macro1 ' ouverture de userform avec des optionbutton
End If
Application.DisplayAlerts = True
ActiveCell.Offset(0, 2).Select
Selection.Copy
Sheets("feuil1").Select
Cells(R, 23).Select
ActiveSheet.Paste
Next R
je remet le bout de code : en fait ma variable est R , je "balaye"dans la feuille 1 toutes les cellules de la colonne 6 et pour chaque cellule je cherche la valeur dans la feuille 2, si cette valeur n'est pas trouvée, j'ouvre une nouvelle procédure avec un userform et des optionbutton (pour renseigner la cellule vide) et quand je reviens dans le prog principal la valeur R n'est plus reconnue. Je ne sais pas comment définir correctement la variable R comme tu me le préconises, si tu peux m'éclairer, merci beaucoup.
For R = 2 To lastrow Step 1
Cells(R, 6).Select
article = ActiveCell.Value
Sheets("feuil2").Select
Cells.Select
Application.DisplayAlerts = False
On Error Resume Next
Selection.Find(What:=article, After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
If (Err.Number > 0) Then
Call Macro1 ' ouverture de userform avec des optionbutton
End If
Application.DisplayAlerts = True
ActiveCell.Offset(0, 2).Select
Selection.Copy
Sheets("feuil1").Select
Cells(R, 23).Select
ActiveSheet.Paste
Next R
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 709
10 janv. 2009 à 22:43
10 janv. 2009 à 22:43
bonjour
Il faut qu'il soit défini en tête d'un module :
Ensuite lorsque tu reviens de ton appel de macro le next R fonctionne.
Tu auras des précisions supplémentaires dans cet article.
Il faut qu'il soit défini en tête d'un module :
Public R as Long Sub macrox ... End Sub
Ensuite lorsque tu reviens de ton appel de macro le next R fonctionne.
Tu auras des précisions supplémentaires dans cet article.