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 :

range avec Variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 300
    Par défaut range avec Variable
    Bonjour

    quelque chose de tout simple certainement pour les expert du sîte, mais moi cela me bloque depuis ce matin

    Je cherche à sélectionner des cellules dans une colonne, mais le nombre de cellule dépend de la variable.

    Voilà j'ai essayer cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    j = 3
    AD = Rows.Address
    MsgBox AD
    'Range(ActiveCell & ":" & Cells & j).Select
     
    'Range (ActiveCell,ActiveCell.Offset(j, 0)) .Select
     
    'Range(ActiveCell & ":" & AD + j).Select
     
    'Range("A" & j & ":D41" ).Select
    Mais rien ne va......

    Donc j'aimerais que concrètement
    la première cellule sera Activecell
    ensuite sélectionne la cellule active et (j) cellule en dessous ' j sera variable par la suite.

    j'espère avoir été clair.

    Cordialement

  2. #2
    Expert éminent 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
    Par défaut
    Pour ton cas, regarde du côté de ResizeSinon, je vois plein de Select, si tu disais ce que tu voulais, on pourrait te proposer quelque chose de potable

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 300
    Par défaut
    j'aimerais que concrètement
    la première cellule sera Activecell
    ensuite sélectionne la cellule active et (j) cellule en dessous ' j sera variable par la suite.

    Voilà avec resize, mais je suis obligé de soustraire 1 à J,, car sinon cela sélectionne une cellule de trop, sinon cela fonctionne.

  4. #4
    Expert éminent 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
    Par défaut
    La question: Pourquoi tu veux sélectionner cette plage de cellules?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 300
    Par défaut
    Voici le code en entier

    Par la suite j'aimerais couper les cellules sélectionner pour pouvoir les coller dans une autre colonne.

    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 NumChap4x4()
     Code = "4x4"
     
        Set CodeChap = Range("I2:W2").Find(what:=Code)
       If CodeChap Is Nothing Then
            MsgBox "Pas trouvé"
        Else
            CodeChap.Offset(1, 0).Select
        End If
     
    j = 6 'Comment.TB3
    'ActiveCell.Resize (j)
    If j = "" Then
    Else
    numrows = Selection.Rows.Count
    MsgBox numrows
    Selection.Resize(numrows + (j - 1)).Select
    End If
    End Sub

  6. #6
    Expert éminent 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
    Par défaut
    Tu sais que tu peux Couper/Coller sans rien sélectionner?

    Exemple (proche du tiens: Regarde ce que j'avais ajouté)
    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
    Sub NumChap4x4()
    Dim Code As String
    Dim CodeChap As Range
     
     
    Code = "4x4"
    j = 6
    With Worksheets("Feuil1")
        Set CodeChap = .Range("I2:W2").Find(what:=Code, LookIn:=xlValues, LookAt:=xlWhole)
        If CodeChap Is Nothing Then
            MsgBox "Pas trouvé"
        Else
            CodeChap.Offset(1, 0).Resize(j).Cut .Range("Z1")
            Set CodeChap = Nothing
        End If
    End With
    End Sub
    Maintenant, si tu n'arrive pas à l'adapter sur ton cas, il faudra plus d'informations et non des phrases-télégrammes.

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 141
    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 : 13 141
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Ce que tu cherches à obtenir n'est pas très clair pour moi.
    D'après ton code, même s'il y a plusieurs cellules qui contiennent la valeur de la variable Code (ici 4x4), il n'y aura jamais qu'une cellule retenue et donc la ligne 15 de ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    numrows = Selection.Rows.Count
    vaudra toujours 1.
    De plus il est parfaitement inutile d'utiliser Select et Selection
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Pb syntaxe range avec variable
    Par rob1son76 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/03/2012, 15h33
  2. Range avec variable
    Par flamel dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/02/2010, 16h41
  3. L'objet range avec variables et concatenation
    Par bigmousse69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/01/2009, 18h52
  4. Range avec Variable
    Par argal dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/07/2008, 10h39
  5. Réponses: 2
    Dernier message: 05/07/2007, 14h24

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