Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Business Objects > SDK
SDK Forum d'entraide pour la programmation des outils BO par des API (VBA, ASP, Java)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2007, 14h36   #1
Membre régulier
 
Inscription : novembre 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 84
Points : 83
Points : 83
Par défaut [VBA]utiliser une variable récupérée par inputbox

bonjour,
un utilisateur me demande une chose qui ne me semblait pas trop compliquée :
pouvoir à chaque rafraichissement saisir le nombre de jours ouvrés et l'exploiter ensuite dans son document.

Comme cette info n'est n'est nécessaire que pour 1 utilisateur, je ne vais pas alourdir l'univers d'un énieme objet. et comme j'ai de très mauvais souvenirs des objets personnels je ne vais pas exploiter cette solution non plus.

Donc
j'ai commencé par créer un inputbox pour poser la question

Code :
1
2
3
4
5
6
7
8
9
10
11
 
Dim sNbre
Dim iNbre AS Integer
 
Private Sub Document_BeforeRefresh(Cancel AS BOOLEAN)
 
 
    sNbre = InputBox("Quel nombre ?", , iNbre)
    iNbre = CInt(sNbre)
 
End Sub
et ensuite je bloque car je ne sais pas comment récuperer dans le document la valeur de la variable iNbre !
Quelqu'un peut m'aider ?
jj bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 15h42   #2
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Je ne discuterai pas de la méthode choisie ....

Pour la suite de ton VB il te faut créer une variable équivalente à Définir une Variable ou Ajouter une Varable.
Code :
ADD(Formula AS String, [Name AS String],) AS DocumentVariable
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 18h14   #3
Membre régulier
 
Inscription : novembre 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 84
Points : 83
Points : 83
Merci pour cette réponse, a partir de ton exemple j'ai pu me remettre sur les rails.

j'ai brodé un peu autour pour gérér la création de la variable et ensuite sa modification à chaque raffraichissement.

ça marche nickel.

(mr le directeur va être content)
jj bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2007, 18h33   #4
Rédacteur
 
Avatar de Bruno2r
 
Bruno ROMAN-RUIZ
Inscription : décembre 2006
Messages : 2 181
Détails du profil
Informations personnelles :
Nom : Bruno ROMAN-RUIZ
Âge : 57

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : décembre 2006
Messages : 2 181
Points : 2 717
Points : 2 717
Merci d'avoir pensé au
Pourrais tu ta broderie autour de
Code :
ADD(Formula AS String, [Name AS String],) AS DocumentVariable
histoire que le prochain puisse en profiter, Merci.
__________________
Précisez la VERSION ! Règles du forum Business Objects et FAQ BO
"A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"
Bruno2r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2007, 16h08   #5
Membre régulier
 
Inscription : novembre 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 84
Points : 83
Points : 83
voila mon code , il y a tout de meme un disfonctionnement :
entre la création de la variable et le 1er raffraichissement , j'ai été obligé de fermer le document pour que la variable change à chaque raffraichissement

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Dim sNbre
 
Private Sub Document_BeforeRefresh(Cancel AS BOOLEAN)
 
Dim cI AS Integer
Dim cJ AS Integer
 
sNbre = InputBox("Quel nombre ?", , sNbre)
'le nombre de variables
cI = Application.ActiveDocument.DocumentVariables.Count
'ON boucle pour trouver notre variable
cJ = 0
FOR i = 1 TO cI:
    'on met a jour la formule
    If Application.ActiveDocument.DocumentVariables.Item(i).Name = "NbreDeJourOuvre_VBA" Then
        cJ = 1
        Application.ActiveDocument.DocumentVariables.Item(i).Formula = "= " + sNbre
    End If
 
Next
'la 1ere fois ON créé la formule
IF cJ <> 1 Then
    Application.ActiveDocument.DocumentVariables.ADD "= " + sNbre, "NbreDeJourOuvre_VBA"
End IF
 
 
End Sub
jj bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h17.


 
 
 
 
Partenaires

Hébergement Web