VBA Graphe

piekehle Messages postés 3 Date d'inscription mercredi 10 octobre 2007 Statut Membre Dernière intervention 15 octobre 2007 - 15 oct. 2007 à 12:26
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 15 oct. 2007 à 23:55
Bonjour,
   Je suis sous powerpoint 2000. N'importe quel maniere de faire mon graphe a partir des valeurs A,B,C,D m'interesse. Ce que j'ai essayer c'est en prenant un graphe par defaut essayer de changer se feuille de calcul en passant dans un premier temps par l'enregistreur de macros => Resultat il selectionne bien le graphe mais ne change rien. J'ai chercher differentes methodes sur le net en faisant appelle a "OLEformat" mais je n'ai pas reussi, peut etre que je m'y prend mal. Je n'ai pas encore bien saisie toutes les fonctionnalités de ce mot.


Voici mon code.



Sub Aide1_Votepublic()




Dim Chance
Dim Reponse
Dim A
Dim B
Dim C
Dim D




i = 0




Randomize
Chance = Int((2 * Rnd))
If Chance = 0 Then
Do
    Randomize
    Reponse = Int((4 * Rnd) + 1)        If Reponse 1 Then A A + 1 Else End If        If Reponse 2 Then B B + 2 Else End If        If Reponse 3 Then C C + 1 Else End If        If Reponse 4 Then D D + 1 Else End If
    i = i + 1
Loop Until i = 100






End Sub

2 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
15 oct. 2007 à 13:40
 Bonjour,

Celà ne résoudra certainement pas votre problème, mais, il manque le "End If" de "If Chance=0".
De plus, Chance ne sera jamais égal à 0.

jean-marc
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
15 oct. 2007 à 23:55
salut,

une petite modif en VB6 mais tu vas rapidement voir les améliorations possibles, essentiellement le passage des variables

Option Explicit

Private Sub Form_Load()
    Randomize
    Dim A%, B%, C%, D%

    Me.Print "XXX"; vbTab & vbTab; 1; vbTab; 2; vbTab; 3; vbTab; 4 & vbCrLf
    
'   20 tests
    Dim i As Integer
    For i = 1 To 20
        Call GetABCD(A, B, C, D)
        Me.Print "Test n°" & i; vbTab; A; vbTab; B; vbTab; C; vbTab; D
    Next i
End Sub

Sub GetABCD(ByRef A As Integer, ByRef B As Integer, ByRef C As Integer, ByRef D As Integer)
    Dim i As Integer
    A = 0: B = 0: C = 0: D = 0
   
    If (Int((2 * Rnd))) = 0 Then
        For i = 0 To 99
            Select Case Int((4 * Rnd) + 1)
                Case 1: A = A + 1
                Case 2: B = B + 1
                Case 3: C = C + 1
                Case 4: D = D + 1
            End Select
        Next i
    End If
End Sub

++
PCPT   [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Rejoignez-nous