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 :

Selection de feuille avec un nom variable


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Selection de feuille avec un nom variable
    Bonjour je voudrais sélectionner des feuilles, leurs noms sont dans une feuille, un nom par cellules!

    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 repartir()
     
    Dim j As Double
    Dim m As String
     
     
    For j = 0 To 7
     
        If Cells(4 + j, 2) <> "" Then
     
        m = Cells(4 + j, 2)
     
     
    Worksheets(m).Select
     
     Else
     End If
     Next
    End Sub
    le problème doit venir du m parce que quand je remplace m par le nom de la feuille qui est dans la cellules ça marche...

    Merci

  2. #2
    Membre régulier
    Inscrit en
    Février 2007
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 118
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    Tu dois remplacer m = Cells(4 + j, 2)

    par

    m = Cells(4 + j, 2).Value

    et je pense que ça devrait aller

  3. #3
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    quand tu prends M en debug quand ton code se plante, qu'est-ce qu'il vaut ?

    (Tu mets le pointeur de ta souris sur la variable dans le code)

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    m = Cells(4 + j, 2).Value
    ça ne marche pas

    en debug j'ai m = "OESX NOV08" et dans ma cellule il est ecrit OESX NOV08 et ma feuille s'appelle bien OESX NOV08 ,de plus quand je remplace m par "OESX NOV08" ça marche...

    j'utitlise la version 6.3 de VB

    Merci

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    En ce qui me concerne, votre procédure fonctionne parfaitement.

    Compte tenu du fait que pour vous cela fonctionne quand vous remplacez la variable par le nom de la feuille êtes vous tout à fait certain que dans l'intitulé écrit dans la cellule, il n'y a aucune confusion de caractères :

    -OESX NOV08 : du genre "O" remplacé par 0 ou vice-versa ?
    -un espace en plus ?

    si vous testez en ajoutant ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Cells(4 + j, 2) <> "OESX NOV08" Then
    msgbox "Erreur"
    end if

  6. #6
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    voici un exemple de procédure en passant une plage (verticale) en argument
    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
    Sub SheetSelectionByRange(ByVal r As Range)
     
    Dim tmp() As Variant
    Dim i As Integer
     
    Sheets(1).Select
    tmp = r.Cells
    For i = LBound(tmp, 1) To UBound(tmp, 1)
        If i = LBound(tmp) Then
            Sheets(tmp(i, 1)).Select
        Else
            Sheets(tmp(i, 1)).Select (False)
        End If
    Next i
     
    End Sub

  7. #7
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci a tous!

    Merci Jean Jacques mon probleme etait en effet que dans la cellule il y avait un espace apres OESX NOV08 du coup le nom de ma feuille n'etait pas reconnu...

    C'est bête mais ça ma pris la journée!!!

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

Discussions similaires

  1. Ouverture d'un fichier avec un nom variable
    Par setauh dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/09/2009, 07h19
  2. extraction de feuille avec des noms variables
    Par nsqualli dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/11/2008, 16h26
  3. Nommer un nouvel onglet avec un nom variable
    Par machintruc84 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/11/2008, 10h23
  4. Charger un fichier avec un nom variable
    Par GuilloOm dans le forum Octave
    Réponses: 2
    Dernier message: 21/07/2008, 17h19
  5. [XSLT] - Comment selectionner une balise avec un nom variable ?
    Par bchabot dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 25/04/2006, 09h59

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