Regrouper les coordonnés de quatre cellules en une seule

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.

14coordonnees.xlsm (16.42 Ko)

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.

On lui fait renvoyer un résultat par son nom = résultat.

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é...

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.

D'accord, mais c'est toi qui doit savoir ce que tu veux obtenir.

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.

Sous quelle forme tu dois les exporter et de quelle façon ? Qu'est-ce qu'attend ton logiciel tiers ?

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.

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.

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.

Bonjour MFerrand,

J'accuse réception et vous en remercie.

Rechercher des sujets similaires à "regrouper coordonnes quatre seule"