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 :

petit problème avec"with"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut petit problème avec"with"
    Bonjour à toutes et a tous
    Je rencontre un problème avec with
    J'ai une sub qui est appelée suite à un click sur un usf.
    Je dois modifier 2 pages de facon identiques et plutot que d'ecrire 2 fois le code j'ai écrit
    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
    Sub insert_controles()
    'dim des variables
    texte_lbdis = usf2.lbdis
    der_col = Cells(3, Cells.Columns.Count).End(xlToLeft).Column 'derniere colonne
    der_el = Range("a1").End(xlDown).Row ' indice dernier eleve
    cont_maj = Sheets("feuil1").Range("l2") ' indice des controles
    Dim sh As Worksheet
    nf = "Comment"
    'maj indice controle
    cont_maj = cont_maj + 1
    For Each sh In ThisWorkbook.Worksheets
        If sh.Name = (mat) & (tr) Or sh.Name = (nf) & (tr) Then
            With sh
    'detection de "c" 1ere colonne de la discipline active
     
    With sh.Range(Cells(3, 2), Cells(3, der_col))
      Set Cible = .Find(texte_lbdis, lookat:=xlWhole)
      End With
       'Cible.Select
    c = Cible.Column
    le code à la suite fonctionne je l'ai testé maintes fois.
    Par contre lors de la boucle lorsque la 1ere sh est appelée tout ce passe bien.
    Mais lorsque arrive le tour de la 2ème ca plante sur la ligne 16 " la méthode range de l'objet worksheet a échoué".
    Avant de lancer la sub la 1ere page est la page active.
    si en debogage pas à pas j'active la 2éme le code s'effectue alors normalement. (je ne sais pas si je suis assez clair !)
    si je supprime le sh. devant range (cells ....) le code se répéte 2 fois sur la feuille qui est active
    Elle est où l'erreur ?!
    Merci de votre aide par avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    quand tu passes par une worksheet, il faut egalement le faire dans le Range

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With sh.Range(Cells(3, 2), Cells(3, der_col))
    devant devenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With sh.Range(Sh.Cells(3, 2), Sh.Cells(3, der_col))
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonsoir
    je suis aussi débutant mais je crois que lors de la procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each sh In ThisWorkbook.Worksheets
    il faut :

  4. #4
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut
    merci à tous les 2 pour cette réponse rapide.
    Pour BENNASR le next y st mais un peu plus loin;
    Pour JeanPhilippe; Je m'en vais essayer tout de suite et sica marche ce dont je ne doute point je ne manquerai pas de cliquer sur "Résolu" !!!
    Encore MERCI

    Merci Philippe
    C'est vrai qu'au début je n'avais mis que Range ....
    et pas le . devant
    Je vais commencer par là et vous tenir au courant dans la soirée.
    Pour les with et les end with pas de souci le compte y est plus loin(je n'ai mis que le début pour pas alourdir)
    Merci encore.

  5. #5
    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 Kalocou,
    Attention de tenir compte de la remarque de Jean-Philippe (l'objet Cells doit être précédé de point).
    Je ne l'avais pas vu car je répond pendant que je donne des exercices
    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

  6. #6
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut
    rebonjour Philippe
    J'allais justement te le demander car le.range seul donne la même erreur!
    Je dois sortir j'essaierai en rentrant.
    Encore un GRAND MERCI!

  7. #7
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut
    Effectivement avec.range(.cells...., tout fonctionne
    Merci Jean Phi & Philippe

  8. #8
    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,
    Ligne 13, tu as un With qui n'a pas de End With ou bien c'est celui de la ligne 16 qui n'en a pas
    Le With de la ligne 16 devrait en toute logique ne pas répéter l'objet sh mais tout simplement .Range(Cells(3, 2), Cells(3, der_col))
    Il y a peut-être d'autres erreurs que je n'aurais pas vu.
    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

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

Discussions similaires

  1. Petits problèmes avec une CListCtrl
    Par vanitom dans le forum MFC
    Réponses: 2
    Dernier message: 17/11/2005, 11h45
  2. Un petit problème avec pop
    Par Paulinho dans le forum C++
    Réponses: 4
    Dernier message: 13/11/2005, 20h57
  3. Petit problème avec Line Input
    Par GrosQuicK dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/09/2005, 12h47
  4. (Petit ?) problème avec une page contenant du Flash
    Par ologram dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/09/2005, 18h45
  5. Petit problème avec SDL
    Par Nyarlathotep dans le forum C
    Réponses: 10
    Dernier message: 01/07/2005, 09h10

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