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 :

Répéter une macro sur plusieurs lignes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Mars 2018
    Messages : 1
    Par défaut Répéter une macro sur plusieurs lignes
    Bonjour à tous,

    J'ai besoin d'aide! Je suis dbutant pour les macro vba sur excel. J'ai pu récupérer un code qui me permet d'afficher sur une ligne au hasard des numéro entre 1 et 6 sans répétition.
    Je voudrais le faire pour 60 lignes par exemple. Ce doit être tout simle mais je ne vois pas comment faire!... Si qqun s'aurait m'aidé... Merci d'avance!

    Voici le code :


    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
    Sub Aleatoire() 
    Dim plage As Range, cel As Range, alea As Double 
     
     
    Set plage = Range("A1:F1") 
    plage.Value = "" 
    If plage.Count > 6 Then Exit Sub 
    Randomize 
     
    For Each cel In plage 
    1 alea = WorksheetFunction.RandBetween(1, 6) 
    If Application.CountIf(plage, alea) Then GoTo 1 Else cel = alea 
    Next 
     
    End Sub

    Agroeco77
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Agroeco77 Voir le message
    Bonjour,

    Attention, toutes les cellules de l'onglet sont effacées, à tester :
    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
     
    Option Explicit
     
    Sub Aleatoire()
     
    Dim Plage As Range, Cellule As Range
    Dim NbLignes As Variant
     
        On Error GoTo Fin
     
        NbLignes = InputBox("Entrez le nombre de lignes : ")
        If IsNumeric(NbLignes) And NbLignes > 0 Then
            ActiveSheet.UsedRange.ClearContents
            Set Plage = Range("A1:F" & NbLignes)
            For Each Cellule In Plage
                Cellule = WorksheetFunction.RandBetween(1, 6)
            Next
        End If
     
        GoTo Fin
     
    Fin:
     
      Set Plage = Nothing
     
    End Sub

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Supprime la ligne If plage.Count > 6 Then Exit Sub et remplace le 6 suivant par plage.Count.

    Mais attention : la durée d'exécution de la macro va augmenter de manière exponentielle avec le nombre de cellules.

    Petite remarque perso : l'utilisation de Goto dans un code, ça n'est vraiment pas élégant. Une boucle While aurait été plus propre.

Discussions similaires

  1. Problème répéter une Macro sur plusieurs lignes
    Par Benso33 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/08/2017, 11h19
  2. [XL-2007] Création macro pour répéter une formule sur plusieurs lignes
    Par maxpj dans le forum Excel
    Réponses: 1
    Dernier message: 11/12/2015, 19h45
  3. [XL-2010] Création macro pour répéter une formule sur plusieurs lignes
    Par JoOz-ZeP43 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/10/2014, 18h06
  4. Répéter une macro sur plusieurs lignes
    Par sympas dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 21/02/2011, 20h03
  5. Répéter une macro sur plusieurs cellules
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/03/2010, 17h28

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