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 :

Comment faire un "i" variable ? [XL-2010]


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
    Administrateur de base de données
    Inscrit en
    Février 2016
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Février 2016
    Messages : 42
    Par défaut Comment faire un "i" variable ?
    Bonjour à tous.

    Je pense que la solution à mon problème est simple. J'ai un code donc le début est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub UpdateIncome()
     
    Dim i As Variant
     
    i = RowCount
     
    For i = 5 To 60000
     
    Application.ScreenUpdating = False
     
        Worksheets("G_Income_Recalc").Select
     
           If Cells(i, 3) = "" Then Exit For
    Je cherche simplement à rendre variable le "5" et le "60000". Est-il possible d'avoir un Msgbox me demandant d'entrer ces deux chiffres ? Il est aussi possible de placer ces chiffres dans deux cellules du fichier avant d'exécuter la Macro.

    J'imagine qu'il faut les déclarer en variable mais je ne sais pas trop comment m'y prendre.

    Merci de vos aides

    Fred

  2. #2
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    Salut,
    Citation Envoyé par 8Telegraphist8 Voir le message
    Est-il possible d'avoir un Msgbox me demandant d'entrer ces deux chiffres ?
    en fait il s'agit une inputbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dim debut as integer
    dim fin as integer
     
    debut = inputbox ("début de la boucle ?")
    fin = inputbox ("fin de la boucle ?")
     
    for i = debut to fin
        ...
    next i
    Citation Envoyé par 8Telegraphist8 Voir le message
    Il est aussi possible de placer ces chiffres dans deux cellules du fichier avant d'exécuter la Macro.
    si les valeurs sont dans la feuille active en A1 et B1 cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i = range("A1").value to range("B1").value
        ...
    next
    Là aussi, si tu veux rendre ton code plus claire, tu peux déclarer et initialiser des variables.

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    par inputbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub TotoParInput()
    Dim Premier As Long
    Dim Dernier As Long
    Dim i As Long
     
    Premier = Application.InputBox("Premier indice ?", , , , , , , 1)
    Dernier = Application.InputBox("Dernier indice ?", , , , , , , 1)
    For i = Premier To Dernier
        ' le traitement
        Debug.Print i
    Next i
     
    End Sub

    Par valeur de cellule (ici A1 et A2 de la feuille active)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub TotoParPlage()
    Dim i As Long
        For i = Cells(1, 1).Value To Cells(2, 1).Value
            ' le traitement
            Debug.Print i
        Next i
    End Sub

  4. #4
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2016
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Février 2016
    Messages : 42
    Par défaut
    Ok ok ! J'ai capté.
    Merci à vous Jérôme et Joe

    Fred

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment faire un array de 119 variables?
    Par nastyshrimp dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/10/2008, 23h21
  2. Réponses: 4
    Dernier message: 21/09/2008, 01h24
  3. [PostGreSQL] Comment faire une vraie affectation de variable
    Par bossLINDROS dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 29/05/2007, 11h35

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