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 :

Accessibilite & Extraction


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Par défaut Accessibilite & Extraction
    yo

    Je suis face a un probleme bien embetant et dont la solution doit probablement etre evidente, mais elle m'echappe jusqu'a present.

    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
    Private Sub UserForm_Initialize()
    Dim c As Range
        Dim Wk As Workbook
        Dim Ws As Worksheet
        Dim p As Range
        Dim i As Integer
        Dim num1V As Integer
        Dim num2V As Integer
        num1V = num2V = 0
     
        Set Wk = Workbooks.Open(FileName:="monDoc")
        ' ActiveSheet <=> wk.ActiveSheet
        Set p = ActiveSheet.Cells 
     
        For Each c In p
            If "num1" = c.Value Then
                num1V= c.Column
            ElseIf "num2" = c.Value Then
                num2V= c.Column
            ElseIf 0 <> num1VAnd 0 <> num2VThen
                Exit For
            End If
        Next c
     
        imax = Application.Run("'" & Wk.Name & "'!returnImax")
     
        i = 0
        p = ActiveSheet.Range(Cells(1 + 1, num1V ), Cells(imax, num1V )) ' le coeur du probleme, c.f.: ci-dessous 
        For Each c In p
            MsgBox "c.Value: " & c.Value
            i = i + 1
            If 5 = i Then
                Exit For
            End If
        Next c
    End Sub
    Le programme a pour but actuellement d'ouvrir un fichier, d'y localiser deux colonnes specifiques et en extraire les donnees (il ne fait ici que les consulter).

    La ligne 28 pose un probleme. Celui-ci se traduit par la transformation de toutes les cellules de ActiveSheet en cellules vides et de la non-selection de la plage p de cellules.
    Je ne sais pas quelles sont les causes a l'origine de cette erreur, vraiment aucune idee.

    De plus, lorsque dans ma derniere boucle, je cherche a visualiser la valeur de la cellule couramment parcourue, j'obtiens une cellule vide ; ce qui va de pair avec les consequences evoquees ci-dessus mais que je ne comprends encore moins etant donne que dans ma premiere boucle, j'ai une reponse non-vide. La plage p etant differente, j'en deduis que le dysfonctionnement est cause par la seconde affectation a p, mais ne sait pas pour quelle(s) raison(s).

    Quelqu'un s'aurait-il m'aider a surmonter ce probleme ?

    Merci.

  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
    13 176
    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 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En ligne 28, tu affectes une valeur à un Range donc tu dois faire précéder cette affectation par l'instruction Set comme pour toutes variables Objet
    Ta ligne 20 devrait aussi poser problème (l'opérateur And colle à la variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          ElseIf 0 <> num1VAnd 0 <> num2VThen
    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

  3. #3
    Membre actif
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Par défaut
    Je savais bien que l'erreur etait evidente et me passait sous le nez.

    Quant a l'autre erreur, j'ai commis un impair en changeant le nom des variables.

    Je m'excuse d'avoir ouvert un sujet pour des telles betises.

    Un grand merci a toi.

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

Discussions similaires

  1. Extraction de mots clés
    Par Olive1808 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 01/02/2016, 20h49
  2. [tables systèmes] extraction de la structure d'une base
    Par laffreuxthomas dans le forum Autres SGBD
    Réponses: 6
    Dernier message: 23/03/2006, 13h24
  3. requête d'extraction de lieux (st et saint)
    Par sdchamplas dans le forum Langage SQL
    Réponses: 8
    Dernier message: 20/02/2003, 11h17
  4. Extraction des phrases d'un Texte
    Par LE CHAKAL dans le forum Langage
    Réponses: 6
    Dernier message: 19/08/2002, 21h23

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