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 :

Code sur excel 2003 non compatible sur excel 2007! [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Par défaut Code sur excel 2003 non compatible sur excel 2007!
    Bonjour,
    J'ai trouvé un fichier excel sur http://boisgontierjacques.free.fr/ à l'item Formulaire "Formulaire liste multi-colonnes" FormIntuitifMultiColonnes ou le ficheir porte le nom de formulintuitive42.xls. Et bien je souhaite l'utiliser avec excel 2007 et ce dernier affiche un message d'erreur (Impossible de définir la propriété columwidths. Le type ne correspond pas.) Que dois-je modifier pour permettre à ce programme de fonctionner correctement? Je vous avoue que je suis très dépassé par ce type de problème et je souhaite que quelqu'un puisse m'aider. Merci à l'avance. Je met le fichier en question pour vous permettre de tester la problématique : recherchemulticolonne.xls
    Au plaisir de vous lire à ce sujet...

  2. #2
    Expert éminent 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
    Par défaut
    Pourquoi ne poses-tu pas la question au créateur du code ?

  3. #3
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour Patscaph.

    Quelle est la valeur qui est attribuée à .ColumnWidths ?
    Est-ce une valeur de type STRING ?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Par défaut Patscaph
    Bonjour Docmarti,

    Je présume que la valeur de columnwidth est fonction de la largeur que le programme identifie aux cellules du tableau excel. Pour vous permettre de mieux comprendre quelque chose que je risque de trop mal expliquer, je vous suggère d'accéder au fichier joint initialement et de faire un déroulement pas à pas si ce n'est pas trop demandé. merci pour votre aide.

    Pour répondre à Menhir,
    Le site en question de JacquesBoisGontier ne m'indique pas comment joindre la personne en question et il y présente une multitude de code VBA et conseil très utile. Sans doute qu'il très connu de votre côté de l'atlantique alors peut être avez vous une adresse pour moi. merci à l'avance.

    Au plaisir de voir lire.....

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2013
    Messages : 5
    Par défaut Patscaph
    Bonjour,
    J'ai du développement pour ceux qui veulent bien m'aider. Et bien j'ai mis en commentaire la ligne de code problématique et maintenant le code passe. Toutefois, j'ai quand même besoin de l'inclure au code pour que la considération de la largeur des colonnes soit tenue en compte pour positionner les 'label' dans mon formulaire. Je pense que la solution est très simple et a trait à la syntaxe de 2003 qui ne serait pas compatible avec 2007. Voici la ligne provenant du userform:
    'Me.ListBox1.ColumnWidths = temp
    Que dois-je modifier pour cette ligne soit bien prise en compte?

    Le code complet est le suivant:
    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
    Private Sub UserForm_Initialize()
      Set f = Sheets("BD")
      nbcol = f.[A1].CurrentRegion.Columns.Count
      Me.ListBox1.ColumnCount = nbcol
      Set plage = f.[A1].CurrentRegion
      Set plage = plage.Offset(1).Resize(plage.Rows.Count - 1)
      Me.ListBox1.List = plage.Value
      i = 1
      x = 15
      For i = 1 To nbcol
        retour = Me.Controls.Add("Forms.Label.1", "Label" & i, True)
        Me("label" & i).Caption = f.Cells(1, i)
        Me("label" & i).Top = 45
        Me("label" & i).Left = x
        x = x + f.Columns(i).Width * 1.1
        temp = temp & f.Columns(i).Width * 1.1 & ";"
      Next
     
      'Me.ListBox1.ColumnWidths = temp      <---Code mit en commentaire
     
      For b = 1 To nbcol: Set Lbl(b).GrLabel = Me("Label" & b): Next b
    End Sub
    Pour plus de détail svp vous référer au fichier mit en pièce jointe au post initial.

  6. #6
    Expert éminent 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
    Par défaut
    Est-ce que tu as essayé, juste avant la ligne qui ne marche pas, de regarder le contenu de ta variable temp et de Me.ListBox1.ColumnWidths ?
    Essaye de mettre avant cette ligne simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Debug.Print Me.ListBox1.ColumnWidths
    Debug.Print temp

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

Discussions similaires

  1. [XL-2003] Macro qui ne Fonctionne PAS sur Excel 2003 mais Fonctionne sur Excel 2010
    Par CedResma34 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/01/2014, 10h05
  2. [EXCEL 2003] Echec autofill sur la classe range
    Par buhrne dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/12/2008, 17h03
  3. Excel 2003 - Lien Hypertexte sur une valeur ?
    Par troxsa dans le forum Excel
    Réponses: 2
    Dernier message: 21/03/2008, 16h25
  4. acceder au code vba à partir d'un fichier excel 2003 depuis 97
    Par miko91 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 18/10/2007, 16h01
  5. [Excel 2003] Somme.si sur plusieurs feuilles
    Par leo2v2o dans le forum Excel
    Réponses: 6
    Dernier message: 24/01/2007, 15h35

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