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 :

[XL] Mon "Public" se la joue "perso"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut [XL] Mon "Public" se la joue "perso"
    Salut les VB forumeurs,

    J'avais du code dans un fichier qui fonctionnait. Je l'ai passé dans un autre fichier (identique mais mis à jour) et ca ne marche plus !
    En cherchant, c'est ma variable tableau "NamEtude" qui n'a plus de valeur en passant d'une macro à une autre ...
    Pourtant j'ai bien mis en haut du module "Public Nametud as Integer"
    Et ca fonctionne bien dans l'ancienne ...

    Est ce que quelqu'un pourrait m'indiquer dans quelle direction chercher ??
    Merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    D'un côté tu as NamEtude et de l'autre NameEtude... C'est normal ?
    Et c'est moi qui ai perdu le nord !

  3. #3
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    Tu veux dire NamEtud et NamEtude ?

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Deux erreurs pour le prix d'une !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut
    Salut ouskel'n'or,

    Non c'est une erreur de ma part en écrivant sur le forum, mais j'ai vérifié c'est bon dans la macro !

    Mais est ce que ca peut etre du au fait que c'est un tableau : NamEtud(n) ?

    J'ai bien des valeurs pour chaques n (des entiers),

    L'erreur est : "Lindice n'appartient pas à la sélection"

    PS : petit mot ds la fin de la macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Public NamEtud() As Integer 'Tableau du CE recherché
    -----------------------------------------------------
    Sub Yahoo()
    Call ClearAll 'Efface tout
    Application.ScreenUpdating = False
    Dim pl As Integer        'Correspond au numéro de tableau en cours
    Dim PlMax As Integer     'Correspond au Nbre max d'études
     
    Call CherchEtud  '--> C'est la que je rempli mon NamEtud (NamEtud(0) = UBound(NamEtud, 1) et ca marche, il a bien une valeur en fin de macro CherchEtud
    For pl = 1 To NamEtud(0)     'Défini le nombre de tableaux

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ce qui serait intéressant de connaître, c'est ta sub CherchEtud.
    D'après ton commentaire, NamEtud est un tableau à deux dimensions... C'est le cas ?
    A+

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 128
    Par défaut
    Voici ma sub Charchetude
    Et NamEtud n'a qu'une seule dimension
    Alors, c'est grave docteur ?

    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
    Sub CherchEtud()
    Dim ChargEtude As String    'Défini le CE recherché
    Dim NamEtud() As Integer    'Tableau contenant toutes les études correpndant au CE recherché
    Dim n As Integer            'Défini le n° de rang dans le tableau
     
    'Initialisation
    n = 0
    ReDim NamEtud(n)
    ChargEtude = CStr(Worksheets("cachée").Cells(14 + Worksheets("cachée").Cells(8, 2).Value, 1).Value)
    'Vérifie si c'est le bon CE
    For NbLigne = 7 To Worksheets("Synthèse").Cells(7, 2).End(xlDown).Row
            'Si oui, on l'enregistre dans le tableau
            If CStr(Worksheets("Synthèse").Cells(NbLigne, 2).Value) = ChargEtude Then
                n = n + 1
                ReDim Preserve NamEtud(n)
                NamEtud(n) = Worksheets("Synthèse").Cells(NbLigne, 1).Value
    End If
     
    Next NbLigne
    NamEtud(0) = UBound(NamEtud, 1)     'Place le nombre de valeur du tableau en début de tableau
     
    End Sub

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    J'avais bien tout compris...
    Ici, tu mets
    n = n + 1
    ReDim Preserve NamEtud(n)
    NamEtud(n) = Worksheets("Synthèse").Cells(NbLigne, 1).Value
    Donc, tu n'as rien dans NamEtud(0)
    Mais si tu nous indiquais la ligne sur laquelle se produit l'erreur, il serait plus facile de t'aider parce que
    ne devrait pas provoquer d'erreur
    Je vérifie mais indique la ligne

    Edit
    Vérifié -> Pas d'erreur !

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

Discussions similaires

  1. [SP-2013] Mon site public est différent suivant les comptes de sharepoint
    Par jbsharepoint dans le forum SharePoint
    Réponses: 2
    Dernier message: 16/03/2015, 09h24
  2. Réponses: 11
    Dernier message: 15/09/2011, 09h33
  3. site inaccessible avec mon ip public en local
    Par Pol63 dans le forum IIS
    Réponses: 4
    Dernier message: 09/09/2010, 00h29

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