Regrouper les coordonnés de quatre cellules en une seule

Y compris Power BI, Power Query et toute autre question en lien avec Excel
u
ulka
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 18 juin 2018
Version d'Excel : 2010FR

Message par ulka » 18 juin 2018, 20:59

Bonjour,

Je suis très content d'être parmi vous et vous en remercie pour l'initiative.

En fait, je suis débutant avec Excel - VBA et une préoccupation m'a conduit à intégrer le Forum. J'ai crée une fonction nommée Cordonnées qui a comme argument: Coord, Point, Northing, Easting et Elevation. La difficulté que j'ai c'est de regrouper le contenu des quatre cellules où sont logé mes points à savoir: Point, X, Y et Z, en une seule afin de les exporter vers le logiciel Autocad.

Je joints à cet effet, le fichier y afférent. Tout en vous remerciant d'avance, je vous exprime ma considération distinguée.
Coordonnées.xlsm
(16.42 Kio) Téléchargé 11 fois
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 18 juin 2018, 21:20

Bonsoir,

Tu fais un certain nombre de confusions il me semble ! :)
Tu n'as pour le moment rien créé du tout. Tu as juste déclaré une fonction nommée Coordonnées et réclamant d'être appelée avec 5 arguments...
Une fonction renvoie un résultat. ::D
On lui fait renvoyer un résultat par son nom = résultat. :wink:
Tu as bien écrit : Coordonnées =
Mais ce qui suit : (P; A2; B2; C2; D2) ne saurait constituer le moindre résultat et ne peut que provoquer une erreur. ;;)

Alors, quel résultat doit renvoyer la fonction, car à part cette ligne elle ne comporte rien, aucun calcul fournissant un indice du résultat cherché...
u
ulka
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 18 juin 2018
Version d'Excel : 2010FR

Message par ulka » 18 juin 2018, 21:45

Bonsoir MFerrand,

J'accuse réception et vous en remercie.

Que faire alors? je suis débutant en VBA j'espère que vous l'avez compris par ces multiples erreurs.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 18 juin 2018, 22:00

D'accord, mais c'est toi qui doit savoir ce que tu veux obtenir. :wink:
u
ulka
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 18 juin 2018
Version d'Excel : 2010FR

Message par ulka » 18 juin 2018, 22:17

M. MFerrand,

J'ai besoin d'obtenir dans une même cellule les points susmentionnés avec leur nom et leur Coordonnées(X,Y,Z) afin de les exporter dans un autre logiciel pour l'exploitation.

Merci une fois de plus pour ce que vous êtes attentionné pour les membres du Forum.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 18 juin 2018, 22:26

Sous quelle forme tu dois les exporter et de quelle façon ? Qu'est-ce qu'attend ton logiciel tiers ?
u
ulka
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 18 juin 2018
Version d'Excel : 2010FR

Message par ulka » 18 juin 2018, 22:47

Après avoir regrouper ou combiner les points qui seront séparé entre eux par des points-virgule, je vais ensuite copier et coller dans un document texte (bloc notes) et enfin, je vais enregistré sous afin de lui donné une extension script qui sera reconnue et affichée dans le Logiciel Autocad.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 19 juin 2018, 00:06

Tu as les éléments listés en tableau, sauf le premier pour lequel tu mets "p". Il faut simplement concaténer ces éléments en les séparant par des points-virgules, ce qui ne nécessite pas particulièrement une fonction, d'autant que l'objectif est de placer la chaîne produite dans un fichier texte.

Tu as plusieurs lignes de coordonnées dans ton fichier. Est-ce que tu mets tout dans le même fichier texte ou chaque ligne doit donner lieu à un fichier ?
Quel nom doit être donné au fichier ?
Et quelle extension ?
On doit pouvoir établir la macro pour qu'elle te produise le fichier à passer à AutoCad.

Cordialement.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'171
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 19 juin 2018, 11:38

Bonjour,

Teste ceci :
Sub Coordonnées()
    Dim Coord, lnCoord(), i%, c%, chF$
    Dim fso As New Scripting.FileSystemObject
    Dim Ftxt As Scripting.TextStream
    Coord = ActiveSheet.Range("A1").CurrentRegion
    For i = 2 To UBound(Coord)
        ReDim Preserve lnCoord(c)
        lnCoord(c) = WorksheetFunction.Index(Coord, i, 0)
        c = c + 1
    Next i
    For i = 0 To c - 1
        lnCoord(i) = "p;" & Join(lnCoord(i), ";")
    Next i
    chF = ThisWorkbook.Path & "\Coordonnées.txt"
    Set Ftxt = fso.CreateTextFile(chF)
    For i = 0 To c - 1
        Ftxt.WriteLine lnCoord(i)
    Next i
    Ftxt.Close
End Sub
La procédure récupère tes lignes de coordonnées... les place dans un fichier texte qui est enregistré dans le même dossier que ton classeur.
Une fois exécutée, tu iras dans le dossier ouvrir le fichier texte que j'ai nommé Coordonnées.txt et tu vois si le résultat correspond à ce qu'il te faut... Sinon tu pourras certainement adapter.

Si tu as une erreur dès lancement de la macro sur Scripting.FileSystemObject, c'est qu'il te faut aller dans Outils>Références... (éditeur VBA), chercher la réf. Microsoft Scripting Runtime et la cocher.

Cordialement.
ulka_Coordonnées.xlsm
(23.6 Kio) Téléchargé 8 fois
u
ulka
Nouveau venu
Nouveau venu
Messages : 5
Inscrit le : 18 juin 2018
Version d'Excel : 2010FR

Message par ulka » 19 juin 2018, 19:35

Bonjour MFerrand,

J'accuse réception et vous en remercie.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message