Bonjour,

Je travaille actuellement sur Catia V5 et je bidouille un petit peu les macros.
Catia nous fourni de base une macro permettant d'importer des points contenus dans un fichier excel,
cette macro est codée en vba.
Voici la partie du code qui me poste problème: Je veux dans le main récupérer un choix de l'utilisateur (sheet1 ou sheet2), je veux ensuite que ce choix donne une valeur au string Ws pour pouvoir ensuite le réutiliser dans GetCell et choisir ainsi de travailler avec le sheet qui me plait.
J'ai lu sur des sites que le fait de déclarer la variable au début du module permettait de la conserver tout du long, mon code ne marche cependant pas.
Pourriez vous me donner quelques pistes?
(J'ai mis ci-dessous seulement les parties de code qui posent problème)

Merci d'avance,
Jérémy

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
'------------------------------------------------------------------------
'Get the active cell
'------------------------------------------------------------------------
Function GetCell(iindex As Integer, column As Integer) As String
    Dim Chain As String
 
 
    Sheets(Ws).Select
    If (column = 1) Then
        Chain = "A" + CStr(iindex)
    ElseIf (column = 2) Then
        Chain = "B" + CStr(iindex)
    ElseIf (column = 3) Then
        Chain = "C" + CStr(iindex)
    End If
    Range(Chain).Select
    GetCell = ActiveCell.Value
End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
'------------------------------------------------------------------------
'Main program
'------------------------------------------------------------------------
Sub Main()
 
    'Get the type of profile to create:
    '   NACA-64A112                 --> 1
    '   NACA-64A512        --> 2
 
    Dim ProfileType As Integer
    TypeFile = GetProfileType
 
 
 
 
    'Dim TypeFile As Integer
    'TypeFile = GetTypeFile
 
    ' V5R12 - Create dedicate openBody for created geometry
    'Get CATIA and already created geometrical set
    Dim PtDoc, HKoerper, F, FS As Object
    Set PtDoc = GetCATIAPartDocument
    Set HKoerper = PtDoc.Part.HybridBodies
    Set F = HKoerper.Item("Flügel")
    Set FS = F.HybridBodies.Item("Flügel_Schnitt_1")
 
    ' Create Open body in Geometrical set
    Set Hbody = FS.HybridBodies.Add()
    Hbody.Name = "Profil_Schnitt_1"
 
    If ProfileType = 1 Then
      Set Ws = Sheets(1)
    ElseIf ProfileType = 2 Then
      Set Ws = Sheets(2)
    End If
 
    CreationPoint
 
 
 
End Sub