[Catégorie modifiée VB6 --> VBA] Excel->KML

Résolu
mab2010 Messages postés 7 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 20 juillet 2010 - 2 juil. 2010 à 11:36
noeragui Messages postés 1 Date d'inscription mercredi 16 février 2011 Statut Membre Dernière intervention 16 février 2011 - 16 févr. 2011 à 23:46
Bonjourb tout le monde,
je suis débutant et je cherche à savoir comment implementer un bouton qu'on a crée sur une feille excel pour afficher une autre et aussi générer une feuille excel composé d'un tableau(points, cecles et photo)dont les colonnes st latitude, longitude, nom, description, logo...... et les lignes ses valeurs.
Si quelqu'un connait, je suis en atente.

7 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 juil. 2010 à 12:44
Salut Mamadou et bienvenu.

Une fois que tu as créé ton bouton sur ta feuille, tu fais un clic-droit sur le bouton et tu vas dans le menu "Visualiser le code".
L'éditeur de VBA va s'ouvrir et afficher une procédure nommée CommandButton1_Click. C'est là qu'il faudra écrire le code qui t'intéresse.

Pour trouver le code à utiliser pour, dans ton exemple, afficher une autre feuille, il te suffit d'enregistrer une macro pendant que tu fais la manipulation à la main : Menu Outils + Macro + Nouvelle macro + Ok
Ensuite, tu vas simplement provoquer l'affichage de ta seconde feuille (en cliquant sur son nom dans l'onglet, en bas de la feuille, ou en utilisant le menu Fenêtre + le nom de ta deuxième feuille.
Tu stoppes l'enregistrement et tu retournes dans l'éditeur de VBA.
Dans le Module1 qui a été créé, tu trouveras le code généré par tes manips.
Tu n'as plus qu'à le copier dans le CommandButton1_Click de tout à l'heure et le tour est joué.

Pour tes histoires de tableau, de latitude, etc, je ne vois pas ce que tu veux faire.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 juil. 2010 à 19:03
Oui, les menus diffèrent selon les versions de Excel (tu ne l'as pas précisée)
Si tu as besoin d'explications sur le fonctionnement de Excel, regarde dans l'aide, il y a des infos pour se familiariser avec tout ça.
3
mab2010 Messages postés 7 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 20 juillet 2010
2 juil. 2010 à 16:23
Merci jack,
mais je ne pas pu le faire car en faisant un clic droit sur le bouton, la boite de dialogue qui s'affiche me donne seulement "Affecter une macro"
et non
"Visualiser le code". Mais "Visualiser le code" s'affiche quand je fais un clic droit sur le non du classeur en bas et en utilsant ça et suivant tes explications, ça ne marche pas car je ne vois pas d'enregistrements quand je fais des manip.
J'ai créer le bouton avec insertion + formes et j'ai pris un rectagle par exemple. Dis si c'est comme qu'il faut créer des boutons?
Merci pour plus de precision.

Pour mes hstoires de tableau, de latitude, etc.... C'est comment générer un fichier excel en kml en cliquant sur bouton
0
mab2010 Messages postés 7 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 20 juillet 2010
4 juil. 2010 à 14:12
Salue jack,
je te remercie trés bien car tes explications m'ont persmis de comprendre ce que je cherchais à savoir sur les macros.
Je veux aussi que vous m'aidiez, toi ainsi que tout membre qui a une idée sur la conversion d'un fichier excel en kmz(extension du XML ) pour visualiser les données directement sur google earth.
Merci de votre aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mab2010 Messages postés 7 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 20 juillet 2010
5 juil. 2010 à 09:31
Bonjour


Je suis actuellement en train de créer un "SIG" permettant de visualiser les différents sites en cours sur un fond de carte issu de google earth.
Pour cela, mon but est de convertir un fichier excel (reprenant les lattitudes, longitudes, nom du chantier, ainsi que commentaires) vers un fichier en KML lisible par google earth;
j'ai trouvé des choses pas mal sur internet mais j'aimerais savoir si qqun aurait une macro remplissant cette fonction.
En effet, j'ai du mal à créer le programme sous visual basic...
merci pour l'aide,
0
mab2010 Messages postés 7 Date d'inscription jeudi 1 avril 2010 Statut Membre Dernière intervention 20 juillet 2010
7 juil. 2010 à 14:54
Bonjour
je me permet encore de vous redemander même si je n'obtiens pas de réponse car personne ne m'a répondu à mes questions précédentes.
j'ai cherché a voir un code pour mon histoire de Excel en XML mais le code ne marche pas, j'ai essayé d'améliorer mais le bog dit que y a INCOMPATIBILITÉ de type
VOICI LE CODE
Private Sub CommandButton1_Click()




' GenerateKML Macro
'

' Set file details
Set filePath = [Int!Q26]
'Set filePath = File_details [!C2]

'Nom du document Set

Open filePath For Output As #1


'Ecrire à en-tête du fichier
'File_details outputText = File_details [! C5] & & DocName [! C6]
'Print #1, outputText
Outputtext = [KML!B1] & [Int!C18] & [KML!B3] & [Int!C19] & [KML!B5] & [Int!C20] & [KML!B7] & [Int!C21] & [KML!B9] & [Int!C22] & [KML!B11] & [Int!C23] & [KML!B13] & [Int!C24] & [KML!B15] & [Int!C25] & [KML!B17] & [Int!C26] & [KML!B19] & [Int!G18] & [KML!B21] & [Int!G25] & [KML!B27] & [Int!G20] & [KML!B29] & [Int!G21] & [KML!B31] & [Int!G22] & [KML!C31] & [Int!G23] & [KML!E31] & [Int!C26] & [KML!B33] & [Int!K21] & [KML!C33] & [KML!C106] & ", " & [KML!C107] & [KML!B37]
'Print #1, outputtext

'commencez à boucle par les stations
For Each cell In [Int!A2.A200]
Longitude = cell.Offset(0, 0)
Latitude = cell.Offset(0, 1)
Name = cell.Offset(0, 2)
Description = cell.Offset(0, 3)
Logo = cell.Offset(0, 4)


If Name = "" Then
Exit For
End If


'réer un repère ( Create a placemark )
'outputText = File_details [!] C8] & & pmName File_details [! C9 & longitudeValue & "," & & latitudeValue [File_details!] C10 & pmDescription & File_details [! C11]
'Print #1, outputText
'outputText = [KML!B39] & Longitude & [KML!B41] & Latitude & [KML!B43] & Name & [KML!B45] & Description [KML!B49] & Logo & [KML!B51]
Outputtext = [KML!B39] & Nom_GE & [KML!B41] & Repere & [KML!B43] & Couleur & [KML!D43] & Nom_video & [KML!B49] & Nom_photo & [KML!B51] & Hauteur_pdv & [KML!B53] & Azimut & [KML!B55] & [KML!E53] & Comm & [KML!E55] & Longitude_i & ", " & Latitude_i & [KML!B59] & Nom_GE & [KML!B61] & Couleur & [KML!B63] & Epaisseur & [KML!B65] & Longitude_i & ", " & Latitude_i & " " & Longitude_f & ", " & Latitude_f & " " & Longitude_i & ", " & Latitude_i & " " & Longitude_f & ", " & Latitude_f & [KML!B81]
Print #1, Outputtext

Next

'Footer Ecriture dans un fichier ( Start to loop through stations)
'outputText = File_details [! C13]
'Print #1, outputText
For Each cell In [Int!S1.AE1]


Coord_Moy_liste = cell.Offset(198, 0)


If Coord_Moy_liste = "" Then
Exit For
End If

'Create a placemark
Outputtext = [KML!B114] & Coord_Moy_liste & [KML!B116]
Print #1, Outputtext

Next


'Write footer to file
Outputtext = [Int!B41] & [Int!B42] & [KML!B83]
Print #1, Outputtext
Close #1

End Sub

Si quelqu'un a une idée je suis impatient!
Merci.
0
noeragui Messages postés 1 Date d'inscription mercredi 16 février 2011 Statut Membre Dernière intervention 16 février 2011
16 févr. 2011 à 23:46
as-tu résolu ton problème ? Pour ma part, j'ai sensiblement le même code (en plus simple) qui marche mais avec l'appel à une seule feuille de données.
0
Rejoignez-nous