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 :

Nb lignes selon valeur dans cellules


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 95
    Points : 81
    Points
    81
    Par défaut Nb lignes selon valeur dans cellules
    Bonjour,
    je n'arrive pas à faire une macro sur l'événement change qui me permettrait de :
    je voudrais construire un tableau selon des valeurs dans des cellules.

    Si dans B2 j'ai le chiffre 7, la plage nommée équipe 1 doit comporter 7 lignes et inversement si B2=2 alors il y aura 2 lignes. Ceci plusieurs fois pour plusieurs équipes.

    Je n'arrive pas à débuter ma macro, je ne sais pas trop comment m'y prendre.

    Merci d'avance pour vos conseils.
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 952
    Points : 28 960
    Points
    28 960
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Sans passer par du VBA, tu peux rendre dynamique une plage en la transformant en tableau (Onglet [Insertion], groupe Tableau, commande Tableau)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 95
    Points : 81
    Points
    81
    Par défaut
    Merci de ta réponse mais je viens de tester mais je ne vois pas comment réaliser mon projet avec cette fonction.

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Une usine à gaz
    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
    Option Explicit
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Nb As Integer, m As Integer
    Dim c As Range
     
    Application.ScreenUpdating = False
    If Target.Count = 1 Then
        If Target.Column = 6 Then
            If Target.Offset(0, -1) <> "" Then
                If Target.Offset(1, -1) <> "" Then
                    Set c = Target.Offset(1, -1)
                Else
                    Set c = Target.Offset(1, -1).Resize(1000, 1).Find("*")
                End If
     
                If Not c Is Nothing Then
                    If c.Row > Target.Row Then
                        Nb = Val(Target.Value)
                        m = Nb - c.Row + Target.Row
                        If m <> 0 Then
                            Application.EnableEvents = False
                            If m > 0 Then
                                c.Offset(0, -1).Resize(m, 6).Insert shift:=xlDown
                                Target.Offset(0, 1).Copy c.Offset(-m, 2).Resize(m, 1)
                            Else
                                Target.Offset(Nb, -1).Resize(-m, 6).Delete shift:=xlUp
                            End If
                            Application.EnableEvents = True
                        End If
                    End If
                End If
            End If
        End If
    End If
    End Sub

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 95
    Points : 81
    Points
    81
    Par défaut
    merci, je vais analyser tout ça, il faut en plus que je gère les plages nommées après insertion.

Discussions similaires

  1. [XL-2003] Récupérer valeur de ligne selon recherche dans tableau
    Par Lufia dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/11/2009, 13h02
  2. recup valeur dans cellule GridView
    Par nashouille dans le forum ASP.NET
    Réponses: 2
    Dernier message: 15/11/2007, 16h45
  3. Supprimer ligne selon valeur du ComboBox1
    Par avyrex dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/06/2007, 10h27
  4. valeurs dans cellules protégées
    Par casefayere dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/03/2007, 20h18
  5. Ajout n lignes selon valeur...
    Par nicburger dans le forum Access
    Réponses: 1
    Dernier message: 26/10/2005, 19h49

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