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

mab2010 7 Messages postés jeudi 1 avril 2010Date d'inscription 20 juillet 2010 Dernière intervention - 2 juil. 2010 à 11:36 - Dernière réponse : noeragui 1 Messages postés mercredi 16 février 2011Date d'inscription 16 février 2011 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 2 juil. 2010 à 12:44
3
Merci
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)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_Jack
Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 2 juil. 2010 à 19:03
3
Merci
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.

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_Jack
mab2010 7 Messages postés jeudi 1 avril 2010Date d'inscription 20 juillet 2010 Dernière intervention - 2 juil. 2010 à 16:23
0
Merci
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
Commenter la réponse de mab2010
mab2010 7 Messages postés jeudi 1 avril 2010Date d'inscription 20 juillet 2010 Dernière intervention - 4 juil. 2010 à 14:12
0
Merci
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.
Commenter la réponse de mab2010
mab2010 7 Messages postés jeudi 1 avril 2010Date d'inscription 20 juillet 2010 Dernière intervention - 5 juil. 2010 à 09:31
0
Merci
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,
Commenter la réponse de mab2010
mab2010 7 Messages postés jeudi 1 avril 2010Date d'inscription 20 juillet 2010 Dernière intervention - 7 juil. 2010 à 14:54
0
Merci
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.
Commenter la réponse de mab2010
noeragui 1 Messages postés mercredi 16 février 2011Date d'inscription 16 février 2011 Dernière intervention - 16 févr. 2011 à 23:46
0
Merci
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.
Commenter la réponse de noeragui

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.