VBA Graphe

Signaler
Messages postés
3
Date d'inscription
mercredi 10 octobre 2007
Statut
Membre
Dernière intervention
15 octobre 2007
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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

Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 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
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
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