[VBA] Condition SI dans une macro
Résolu
oylan
Messages postés
8
Statut
Membre
-
oylan Messages postés 8 Statut Membre -
oylan Messages postés 8 Statut Membre -
Bonjour à tous,
Me revoila... (Oh non, pas encore lui) :p
Je me disais, que je pourrais avoir peut-être de l'aide sur cette fonction, qui as pour but de tester la valeur dans la cellule, et de retourner une autre valeur si cette valeur est égale à datecreation, auteurs, titres... etc... :
Cependant, il me retourne toujours (dans la cellule) "#NOM?!" ... Donc, si vous pouviez m'aider !
J'espère avoir été asser explicite
Merci beaucoup !!!!
Code : VB.NET
Option Explicit
Dim valeur As String
Dim datecreation As String
Dim auteurs As String
Dim Titres As String
Sub get_wss_properties(valeur)
If valeur = datecreation Then GoTo date_creation
Else
If valeur = auteurs Then GoTo auteur
Else
If valeur = Titres Then GoTo Titres
Else
ActiveCell.Value = "Inserez autre chose"
End Sub
Sub date_creation()
ActiveCell = ActiveWorkbook.BuiltinDocumentProperties("creation date")
ActiveCell.NumberFormat = "dd/mm/yyyy"
End Sub
Sub auteur()
ActiveCell = ActiveWorkbook.BuiltinDocumentProperties("author")
End Sub
Sub Titre()
ActiveCell = ActiveWorkbook.BuiltinDocumentProperties("Title")
End Sub
--
Dylan ''oylan'' Reymond
Quand je le fais, au moin, je le fais bien! :D
Me revoila... (Oh non, pas encore lui) :p
Je me disais, que je pourrais avoir peut-être de l'aide sur cette fonction, qui as pour but de tester la valeur dans la cellule, et de retourner une autre valeur si cette valeur est égale à datecreation, auteurs, titres... etc... :
Cependant, il me retourne toujours (dans la cellule) "#NOM?!" ... Donc, si vous pouviez m'aider !
J'espère avoir été asser explicite
Merci beaucoup !!!!
Code : VB.NET
Option Explicit
Dim valeur As String
Dim datecreation As String
Dim auteurs As String
Dim Titres As String
Sub get_wss_properties(valeur)
If valeur = datecreation Then GoTo date_creation
Else
If valeur = auteurs Then GoTo auteur
Else
If valeur = Titres Then GoTo Titres
Else
ActiveCell.Value = "Inserez autre chose"
End Sub
Sub date_creation()
ActiveCell = ActiveWorkbook.BuiltinDocumentProperties("creation date")
ActiveCell.NumberFormat = "dd/mm/yyyy"
End Sub
Sub auteur()
ActiveCell = ActiveWorkbook.BuiltinDocumentProperties("author")
End Sub
Sub Titre()
ActiveCell = ActiveWorkbook.BuiltinDocumentProperties("Title")
End Sub
--
Dylan ''oylan'' Reymond
Quand je le fais, au moin, je le fais bien! :D
7 réponses
-
Bonjour,
pourquoi VB.NET ?
Michel-
Parce que j'ai copié ce que j'avais mis dans un autre forum (qui lui à des codes) (pour la mise en page) et il y'a que le VB.NET qui ressemble à la structure du VBA ^^
Regarde ici : https://openclassrooms.com/forum/sujet/excel-2007-goto-avec-condition-40336#r7701993
-
-
Voila, j'ai modifier mon code comme ceci :
Option Explicit
Dim A As String
Dim datecreation As String
Dim auteurs As String
Dim Titr As String
Function get_wss_properties(A)
If A = "datecreation" Then
date_creation
ElseIf A = "auteurs" Then
auteur
ElseIf A = "Titr" Then
Titre
End If
ActiveCell.Value = "coucou"
End Function
Sub date_creation()
ActiveCell = ActiveWorkbook.BuiltinDocumentProperties("creation date")
ActiveCell.NumberFormat = "dd/mm/yyyy"
End Sub
Sub auteur()
ActiveCell = ActiveWorkbook.BuiltinDocumentProperties("author")
End Sub
Sub Titre()
ActiveCell = ActiveWorkbook.BuiltinDocumentProperties("Title")
End Sub
Mais maintenant j'obtiens un "#VALEUR?"
Que faire ? -
Bonjour,
Vous dites : Mais maintenant j'obtiens un "#VALEUR?"
A quel endroit !
-
Bonjour,
C'est vraiment étonnant, si vous appliquez exactement la réponse obtenu (MichD-11.sept.2012) (pas de michel_m .... Salutations) sur [Codes-Sources] vous récupérez les informations désirez.
Ou il y a un autre problème !
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Une chose est sûre, le code telsque vous l'avez posté, je l'ai testé et il ne fonctionne pas du tout, il donne erreur sur erreur .... !
Par contre je répète que le code proposé sur Codes-Sources est OK.
La suite sans moi.
-
Bonjour,
Dim A As String
Si ta cellule contient une date au format excel ou un nombre tu auras #VALEUR!
Et pourquoi faire des sub ?
Autant mettre la ligne de code dans le if et les elseif
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait. -
Bonjour
fonction personnalisée
Function get_wss_properties(propriete As String) As String With ActiveWorkbook Select Case propriete Case "date création" get_wss_properties = Format(.BuiltinDocumentProperties("creation date"), "dd/mm/yy") Case "auteur" get_wss_properties = .BuiltinDocumentProperties("author") Case "titre" get_wss_properties = .BuiltinDocumentProperties("Title") Case Else get_wss_properties = "??????" End Select End With End Function
Michel