IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème InputBox avec fonction MAX


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2016
    Messages : 15
    Par défaut Problème InputBox avec fonction MAX
    Lorsque je lance maintenant mon inputbox marche bien avec des nombres à décimales mais il bloque lorsque je souhaite calculer mon MAX de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub M_Case()
     
    Dim i As Integer
    Dim j As Integer
     
    Worksheets("Feuil3").Activate
     
     
    i = 2
    While i < 24
    j = 2
    While j < 24
    Tab_Bord(i - 1, j - 1) = Cells(i, j).Value
    j = j + 1
    Wend
    i = i + 1
    Wend
     
     
    i = 3
     
    While i < 23
    j = 3
    While j < 23
    Tab_Max(i - 2, j - 2) = WorksheetFunction.Max(Cells(i - 1, j - 1).Value, Cells(i - 1, j).Value _
    , Cells(i - 1, j + 1).Value, Cells(i, j - 1).Value, Cells(i, j).Value, Cells(i, j + 1).Value, Cells(i + 1, j - 1).Value, Cells(i + 1, j).Value, Cells(i + 1, j + 1).Value)
    j = j + 1
    Wend
    i = i + 1
    Wend
     
    i = 3
    While i < 23
    j = 3
    While j < 23
    Sheets("Feuil3").Cells(i, j).Value = Tab_Max(i - 2, j - 2)
    j = j + 1
    Wend
    i = i + 1
    Wend
    End sub
    Pourquoi cela ne fonctionne pas ?
    Cordialement.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Je lis "Problème InputBox avec fonction MAX" et ne vois nulle part dans ton code où est cette inputbox ni dans quelle variable tu as stocké la valeur qui y a été saisie !.

    Et on ne voit pas non plus où et comment tu as déclaré et dimensionné les deux matrices utilisées (tab_max et tab_bord)

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2016
    Messages : 15
    Par défaut
    Pardon, voici mon inputbox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    Public T As Integer
    Public D As Double
    Public C As Integer
     
     
    Sub Trahison()
    T = Application.InputBox("Quelle prime souhaitez vous donner à la stratégie T ?", Type:=1)
    D = InputBox("Combien de défectueux (le nombre de coopératif en sera déduit) ?", "Individus défectueux")
    End Sub
     
    C'est dans ma grande matrice que je stock la valeur qui a été saisie:
     
    Sub Sim_Matrix()
     
        [Input_User].Trahison
        Worksheets("Feuil3").Activate
     
     
        Dim i As Integer
        Dim j As Integer
        Dim Sim_Globale(20, 20) As Double
        Dim ligne_plage As Integer
        Dim colonne_plage As Integer
        Dim Nombre_cases As Integer
        Dim NbreAlea As Integer
        Randomize
        Dim V As Integer
     
        Nombre_cases = 20 * 20
        ligne_plage = 20
        colonne_plage = 20
        C = Nombre_cases - D
        i = 3        'On initialise à 3 pour pouvoir se décaler et laisser de la place pour les cellules cachées'
     
        While i < ligne_plage + 3
            j = 3
     
            While j < colonne_plage + 3
                V = Int(((C + D) * Rnd) + x)
     
                If V >= D Then
                    C = C - 1
                    Cells(i, j).Interior.ColorIndex = 34
                    Cells(i, j) = 0
                Else
                    Cells(i, j) = 0
                    D = D - 1
                    Cells(i, j).Interior.ColorIndex = 9
                End If
     
                j = j + 1
            Wend
     
            i = i + 1
        Wend
     
    End Sub

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    ‼‼

    Les règles du forum ont-elles au moins été lues ?!
    Car il y a même une démonstration visuelle pour les moins doués en utilisant l'icône # !

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2016
    Messages : 15
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Sub Sim_Matrix()
     
        [Input_User].Trahison
        Worksheets("Feuil3").Activate
     
     
        Dim i As Integer
        Dim j As Integer
        Dim Sim_Globale(20, 20) As Double
        Dim ligne_plage As Integer
        Dim colonne_plage As Integer
        Dim Nombre_cases As Integer
        Dim NbreAlea As Integer
        Randomize
        Dim V As Integer
     
        Nombre_cases = 20 * 20
        ligne_plage = 20
        colonne_plage = 20
        C = Nombre_cases - D
        i = 3        'On initialise à 3 pour pouvoir se décaler et laisser de la place pour les cellules cachées'
     
        While i < ligne_plage + 3
            j = 3
     
            While j < colonne_plage + 3
                V = Int(((C + D) * Rnd) + x)
     
                If V >= D Then
                    C = C - 1
                    Cells(i, j).Interior.ColorIndex = 34
                    Cells(i, j) = 0
                Else
                    Cells(i, j) = 0
                    D = D - 1
                    Cells(i, j).Interior.ColorIndex = 9
                End If
     
                j = j + 1
            Wend
     
            i = i + 1
        Wend
     
     
     
    End Sub

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    As-tu lu le message de Marc_L ?
    Lis-le. Saisis cette occasion pour lire également les règles de ce forum
    Corrige ton message (balises code) et expose (tenants et aboutissants) ce qui ne "va pas".
    C'est un minimum.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/08/2013, 18h07
  2. jointure gauche avec fonction max
    Par nicoaix dans le forum Requêtes
    Réponses: 6
    Dernier message: 13/05/2011, 16h35
  3. Optimisation d'une requete avec fonction Max
    Par ghargamaster dans le forum Langage SQL
    Réponses: 13
    Dernier message: 28/02/2011, 09h25
  4. Requête avec fonction MAX
    Par theo99 dans le forum SQL
    Réponses: 2
    Dernier message: 16/12/2010, 15h38
  5. Réponses: 7
    Dernier message: 21/11/2005, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo