[VBA Excel] Ecrire dans des cellules
shp
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je travaille sous Windows 2000 et Excel 2000.
J’utilise fréquemment les formules sous Excel. J’ai étudié pas mal de langages de programmation mais pas le VBA.
Je fais un mini générateur de planning sous excel. Le but est de positionner une action dans le planning du formateur si celui-ci est libre, sinon d’afficher une boite de message et d’effacer l’action tapée.
J’ai tapé la formule : =SI(S78="";S7;oqp()) dans laquelle la fonction oqp() écrite en VBA(langage de programmation que je découvre).
Function oqp() As String
' Affiche une boîte de message ;
' Efface le contenu de la cellule active
' Affecte la chîne cc à la cellule S9
Dim Msg, Style, Title, Help, Ctxt, Response, MyString, cel_edt
Msg = "F oqp"
Style = vbOKOnly + vbCritical
Title = "Occupé "
Help = "DEMO.HLP"
Ctxt = 1000
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
ActiveCell.Value = ""
Worksheets("essais").Range("S9").Value = "cc"
Range("S7").Clear
oqp = "cc"
End Function
Cette fonction est appelée dans la cellule S41 via la formule : =SI(S78="";S7;oqp())
Ce que je trouve étrange est que lorsque je tape une chaîne dans S7, la boîte de message apparaît mais
· le contenu de S7 ne s’efface pas ;
· cc n’est pas écrit dans S9 ;
· dans S41, je vois apparaître #VALEUR!
Alors que lorsque je clique sur le bouton exécuter de l’éditeur vba : cc s’écrit dans S9 mais par contre les autres points restent inchangés.
Bien sûr ceci n’est qu’un exemple pour vérifier que la fonction oqp fonctionne.
Les lignes qui sont d’après moi la cause de ces erreurs sont :
ActiveCell.Value = ""
Worksheets("essais").Range("S9").Value = "cc"
Je me demande s’ il ne manque pas un « include » pour les entrée /sortie mais je n’ai rien trouvé dans l’aide , ni sur internet.
Je vous remercie d’avance de votre aide.
Shp
Je travaille sous Windows 2000 et Excel 2000.
J’utilise fréquemment les formules sous Excel. J’ai étudié pas mal de langages de programmation mais pas le VBA.
Je fais un mini générateur de planning sous excel. Le but est de positionner une action dans le planning du formateur si celui-ci est libre, sinon d’afficher une boite de message et d’effacer l’action tapée.
J’ai tapé la formule : =SI(S78="";S7;oqp()) dans laquelle la fonction oqp() écrite en VBA(langage de programmation que je découvre).
Function oqp() As String
' Affiche une boîte de message ;
' Efface le contenu de la cellule active
' Affecte la chîne cc à la cellule S9
Dim Msg, Style, Title, Help, Ctxt, Response, MyString, cel_edt
Msg = "F oqp"
Style = vbOKOnly + vbCritical
Title = "Occupé "
Help = "DEMO.HLP"
Ctxt = 1000
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
ActiveCell.Value = ""
Worksheets("essais").Range("S9").Value = "cc"
Range("S7").Clear
oqp = "cc"
End Function
Cette fonction est appelée dans la cellule S41 via la formule : =SI(S78="";S7;oqp())
Ce que je trouve étrange est que lorsque je tape une chaîne dans S7, la boîte de message apparaît mais
· le contenu de S7 ne s’efface pas ;
· cc n’est pas écrit dans S9 ;
· dans S41, je vois apparaître #VALEUR!
Alors que lorsque je clique sur le bouton exécuter de l’éditeur vba : cc s’écrit dans S9 mais par contre les autres points restent inchangés.
Bien sûr ceci n’est qu’un exemple pour vérifier que la fonction oqp fonctionne.
Les lignes qui sont d’après moi la cause de ces erreurs sont :
ActiveCell.Value = ""
Worksheets("essais").Range("S9").Value = "cc"
Je me demande s’ il ne manque pas un « include » pour les entrée /sortie mais je n’ai rien trouvé dans l’aide , ni sur internet.
Je vous remercie d’avance de votre aide.
Shp
A voir également:
- Vba écrire dans une cellule
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Excel compter cellule couleur sans vba - Guide
- Ecrire en gras sur whatsapp - Guide
- Excel cellule couleur si condition texte - Guide
- Comment écrire # sur pc - Guide
4 réponses
bonjour
Les lignes qui sont d’après moi la cause de ces erreurs sont :
ActiveCell.Value = ""
Worksheets("essais").Range("S9").Value = "cc"
à mon avis ce n'est pas là qu'il faut chercher.
ta fonction ne correspond pas au but que tu lui assigne.
il serait plus judicieux de tester et de controler les modifs.
Les lignes qui sont d’après moi la cause de ces erreurs sont :
ActiveCell.Value = ""
Worksheets("essais").Range("S9").Value = "cc"
à mon avis ce n'est pas là qu'il faut chercher.
ta fonction ne correspond pas au but que tu lui assigne.
il serait plus judicieux de tester et de controler les modifs.
Je mets ce que les instructions sont sensées faire (pour moi, novice en VBA !).
‘mettre la chaîne " " dans la cellule active
ActiveCell.Value = " "
‘affecter la chaîne cc dans la cellule S9
Worksheets("essais").Range("S9").Value = "cc"
Si tu vois une erreur de traduction dans ces instructions, dis-moi laquelle car, à mon avis, c’est la source de mon problème.
Merci de ton aide.