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 :

Erreur N°9 vba excel


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2013
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Erreur N°9 vba excel
    Bonjour à tous,

    Voici mon petit problème que je rencontre dans ma macro, il me met "Erreur N°9 , l'indice n'appartient pas à la selection"
    La macro doit simplement prendre le texte mit en dur dans la celleule H2 et y rajouter le texte trouvé en colonne H pour y faire un lien hypetext, ça fonctionne jusqu'a la ligne 111 et d'un coup j'ai ce message, je suis un peu pommé :/

    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
    Public Sub MAJ()
    DossierDesFichiers = "H2"
     
    On Error GoTo FinErreur
     
    For n = 1 To ActiveSheet.Hyperlinks.Count
        Range(ActiveSheet.Hyperlinks(n).Range.Address).Activate
        If ActiveCell.Column = 1 Then ' Test de colonne A sinon on ne fait rien
            For i = 1 To 7  ' pour ce placer sur colonne H
                ActiveCell.Next.Select
            Next
     
     
            If ActiveCell.Value <> "" Then
            ActiveSheet.Hyperlinks(n).Address = ActiveSheet.Range(DossierDesFichiers) & ActiveCell.Value
            End If
        End If ' Fin du If ActiveCell.Column = 1 Then
    Next n
     
    GoTo Fin
     
    FinErreur:
       MsgBox "Erreur N°" & Err & Chr(10) & Error & Chr(10) & "Veuillez contacter le créateur de cette macro"
       MsgBox "Merci de fermer le fichier sans enregistrer"
    Exit Sub
     
    Fin:
    End Sub

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Je veux croire que tu as eu le réflexe élémentaire de vérifier ce que contient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Hyperlinks(n).Range.Address
    lors de l'apparition du message d'erreur.
    Que contient-il ?
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par jbal57 Voir le message
    ça fonctionne jusqu'a la ligne 111 et d'un coup j'ai ce message
    Quelle est la particularité de la ligne 111 ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    On Error GoTo FinErreur
    Ce n'est vraiment pas une bonne idée d'avoir mis ça en phase de débugage.
    Ca masque les problèmes et ça empêche de connaitre leur source.

    Essaye ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Sub MAJ()
    Dim Hyp As Hyperlink 
    Dim RCur As Range
     
    For Each Hyp In ActiveSheet.Hyperlinks
        Set RCur = Hyp.Range
        If RCur.Column = 1 Then
            Set RCur = Cells(RCur.Row, 8)
            If RCur.Value <> "" Then Hyp.Address = ActiveSheet.Range("H2") & RCur.Value
        End If
    Next Hyp
    End Sub
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2013
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    @Unparia, oui effectivement j'ai eu le bon réflexe d'afficher dans un msgbox ce que contient ActiveSheet.Hyperlinks(n).Range.Address
    et ça affiche bien le lien hypertext que je veux mettre !

    @Menhier, la ligne 111 est identique en tout point à ceux précédentes c'est pour ça que je ne comprends pas, j'ai essayé avec ton code mais ça ne fonctionne pas non plus, s'il ne détecte pas de lien hypertext déjà présent ou un lien hypertext identique au précèdent (car à la base en colonne 1 il n'y a aucun lien hypertext le but est de les construire et pour tester j'ai mis le même sur chaque ligne (plus de 600, donc pas envie d'en mettre un différent manuellement sinon la macro n'aurai plus d'intérêt )) la macro recommence au début à chaque fois

  5. #5
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par jbal57 Voir le message
    la ligne 111 est identique en tout point à ceux précédentes
    A moins qu'il y ait une limite à 110 des liens hypertextes pour un traitement VBA (ce qui me parait improbable vu que j'ai des cas de traitement de plusieurs centaines de liens), le lien de la ligne 111 doit avoir une particularité.

    c'est pour ça que je ne comprends pas, j'ai essayé avec ton code mais ça ne fonctionne pas non plus
    Excuse-moi mais "ça ne fonctionne pas", c'est un peu léger comme description pour comprendre un problème.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

Discussions similaires

  1. Erreur dans vba excel
    Par rihab92 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/02/2015, 11h36
  2. Erreur Automation VBA excel
    Par icpa38 dans le forum Général VBA
    Réponses: 1
    Dernier message: 05/06/2012, 15h53
  3. [XL-2007] erreur macro vba excel 2007
    Par yan14 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 22/02/2012, 23h04
  4. [E-07] erreur '1004' vba Excel (suite)
    Par mrah1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/02/2009, 17h48
  5. erreur '1004' vba Excel
    Par mrah1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/02/2009, 16h56

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