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 :

Définir un range dynamiquement


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Par défaut Définir un range dynamiquement
    Bonjour à tous,

    Je souhaiterais définir un Range de 70 cases horizontalement. Le numéro de ligne correspond au numéro de la ligne de la cellule venant de vérifier une condition.

    Pourquoi est-ce que ce code ne fonctionne-t-il pas ?

    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
    Dim BorneDroite As Integer, BorneBas As Integer
    Dim i As Integer, j As Integer, k As Integer, l As Integer, m As Integer, n As Integer
    Dim Plage1 As Range, Plage2 As Range, Plage3 As Range
     
    Dim Nom As String
    Dim Poste As String
     
    Dim Tbl As ListObject
    Dim Cell1 As Range, Cell2 As Range, Cell3 As Range, Cell4 As Range, Cell5 As Range
     
     
        Set Tbl = Sheets("ExtractionsPoste").ListObjects("TableauDonneesTriPoste")
        Set Plage1 = ThisWorkbook.Sheets("Données Provisoires Poste").Range("A7:A100")
     
    For Each Cell1 In Plage1
        For Each Cell2 In Tbl.ListColumns("Noms").DataBodyRange
     
             If Cell2.Text = Cell1.Text Then
     
                Nom = Cell2.Text
                Debug.Print "Nom" & Nom
     
    '################## Ligne problématique ##############
                Plage2 = ThisWorkbook.Sheets("Données Provisoires Poste").Range(Cell1.Row & 2:Cell1.Row & 70)
     
    '##############################################              
             End If
     
        Next Cell2
    Next Cell1
    Si en plus de la solution vous auriez une petite explication, je suis preneur !

    Merci d'avance pour le coup de main !

  2. #2
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour C.piette, bonjour le forum,

    Peut-être comme ça :

    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
    Sub Macro1()
    Dim Tbl As ListObject
    Dim Plage1 As Range, Plage2 As Range
    Dim Cell1 As Range, Cell2 As Range
    Dim Nom As String
     
    Set Tbl = Sheets("ExtractionsPoste").ListObjects("TableauDonneesTriPoste")
    Set Plage1 = ThisWorkbook.Sheets("Données Provisoires Poste").Range("A7:A100")
    For Each Cell1 In Plage1
        For Each Cell2 In Tbl.ListColumns("Noms").DataBodyRange
            If Cell2.Text = Cell1.Text Then
                Nom = Cell2.Text
                Debug.Print "Nom" & Nom
                Set Plage2 = Cell1.Resize(1, 70)
                Exit Sub
            End If
        Next Cell2
    Next Cell1
    End Sub

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Par défaut Wow
    Wow double wow,


    A peine le temps de prendre un café que j'avais ma solution et en plus, astucieuse comme solution !


    Donc, double merci à toi

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

Discussions similaires

  1. mod_jk: définir un nombre dynamique de serveurs
    Par FrenchFrogger dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 13/08/2009, 13h51
  2. [XL-2007] Définir des références dynamiques pour les formules internes d'un tableau
    Par SilkyRoad dans le forum Contribuez
    Réponses: 0
    Dernier message: 10/05/2009, 13h05
  3. Réponses: 3
    Dernier message: 11/03/2009, 22h00
  4. Paramètre pour définir un range de port ?
    Par Arvulis dans le forum Administration
    Réponses: 4
    Dernier message: 18/06/2008, 12h27
  5. [vb.net] définir un textbox dynamiquement
    Par arnolem dans le forum Windows Forms
    Réponses: 13
    Dernier message: 05/12/2005, 15h51

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