Visual Basic et Excel
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Visual Basic et Excel



  1. #1
    ninalulu

    Visual Basic et Excel


    ------

    Bonjour,
    J'ai un souci avec une macro de visual basic qui utilise des données excel. Je m'explique.
    J'ai un tableur excel qui comporte 2 pages (avec des données) et 1 page avec une carte du monde.
    Sur la 2ème page de mon fichier j'ai les latitudes (colonne 2) et les longitudes (colonne 3) de certains lieux.
    Je dois faire afficher sur la carte du monde (graph1) les points aux latitudes et longitudes de la page2 (feuil2).

    J'ai créé un algo paramétré permettant de tracer des cercles (il fonctionne quand je le teste en mettant des valeurs brutes).

    Code:
    Sub PlacerUnCercle(h, l, c, m, k As Double)
    '
    ' PlacerUnCercle Macro
    
    'h = longitude
    'l= longueur
    'c = rayon du cercle
    'm= largeur
    'k= latitude
    Sheets("Graph1").Select
    ActiveChart.Shapes.AddShape(msoShapeOval, h * l / 360 - (c / 2) + (l / 2), (m / 2) - k * m / 180 - (c / 2), c, c).Select
    
    End Sub

    Pour arriver à sélectionner les latitudes et les longitudes, j'ai créé un autre algo (qui ne fonctionne pas)

    Code:
    Sub Séisme()
    '
    ' Séisme Macro
    '
    Dim i As Integer 'nombre de lignes du tableau
    Dim h As Double 'longitude
    Dim k As Double 'latitude
    
    Sheets("Feuil2").Select
    
    For i = 2 To 975 
    h = Cells(i, 3)
    k = Cells(i, 2)
    Call PlacerUnCercle(h, 720, 5, 624.75, k)
    Next i
    End Sub

    Je ne comprends vraiment pas, visual basic me trouve une erreur pour h et k. En gros il n'arrive pas à trouver les valeurs dans les 2ème et 3ème colonnes de la feuille 2 (et n'arrive pas à les attribuer à h et k)... Pourtant je sélectionne bien la page 2...

    Quelqu'un peut-il m'aider svp?

    -----

  2. #2
    Xoxopixo

    Re : Visual Basic et Excel

    Bonjour,

    la definition est ici, il me semble, incorrecte.
    Sub PlacerUnCercle(h, l, c, m, k As Double)

    il faudrait écrire, il me semble (à confirmer par les experts ) :
    Sub PlacerUnCercle(h As Double, l As Double, c As Double, m As Double, k As Double)
    En bon vivant, rien ne vaut un bonne logique ternaire.

  3. #3
    Dormeur74

    Re : Visual Basic et Excel

    Je ne suis pas un expert, mais la remarque de Xoxopixo me semble plus que juste. Ton code n'est pas génial pour deux raisons :
    - plutôt que de passer des paramètres sous la forme h, l, c, m k (certes renseignés) pourquoi de pas les passer en clair ou en abrégé compréhensible ?
    Tu conviendras que h pour longitude et k pour latitude ne valent pas x et Y et encore moins Lon et Lat.
    - il est toujours bon de bien déclarer une à une toutes tes variables, aussi bien dans le code appelant que dans la procédure ou la fonction appelée. C'est beaucoup plus facile à debugger. De plus, dans le passage de tes paramètres, tu as une option très intéressante en VB, c'est ByVal (valeur) ou ByRef (référence). Si tu les utilises systématiquement, la mise au point de tes codes n'en sera que plus facile.

    Le mieux est que tu nous proposes ton fichier Excel (zippé, sinon tu ne pourras pas).

  4. #4
    bzh_nicolas

    Re : Visual Basic et Excel

    C'est normal, tu ne récupère pas la valeur des cellules, il faut faire :
    h = Cells(i, 3).Value

  5. A voir en vidéo sur Futura
  6. #5
    ninalulu

    Re : Visual Basic et Excel

    merci beaucoup pour toutes vos réponses. je vais tester tout ça...
    à la prochaine

Discussions similaires

  1. visual basic + excel
    Par invite3811ba77 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 07/04/2011, 17h25
  2. gestion d'une base de données excel (Visual basic)
    Par Thiersun dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 17/03/2009, 08h54
  3. Excel/Visual Basic
    Par invited6d43218 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 13/03/2009, 20h18
  4. Problème visual Basic excel
    Par ketchupi dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 14/02/2008, 13h12
  5. Visual basic excel - tutorial
    Par chris111 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 11/04/2007, 19h27