Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Enregistrement d'information sous forme matriciel

2 réponses
Avatar
Alex St-Pierre
Bonjour,
J'ai une fonction qui sert à renvoyer de l'information. J'aimerais savoir
quel est la meilleur approche pour enregistrer l'information à l'intérieur de
la fonction. Est-il préférable d'enregistrer toutes l'informations sous forme
matricielle et par la suite, d'y faire référence avec un recherchev sur la
matrice stocké? Est-ce que ça va plus vite en utilisant la variable Array()
ou Case? Pour le moment, j'utilise la programmation ci-bas. Y aurait-il une
meilleur façon de faire comme enregistrer l'informations dans une variable
vectorielle à l'initialisation de la macro et par la suite, lorsque je fais
appel à la fonction, renvoyer l'information à l'aide d'un recherchev sur la
variable?
Merci !
Alex

Sub Temporaire()
rep = fTable("T1-2",3)
End Sub

Function fTable(sNom As String, iCol As Integer)
If sTypeName = "T1-1" Then
If iCol = 2 Then fTable = "Table1-1"
If iCol = 3 Then fTable = "Tableau 1-1"
If iCol = 4 Then fTable = "Tab 1-1"
If iCol = 5 Then fTableTitle = "Résultats sur base de
provisionnement")
ElseIf sTypeName = "T1-2" Then
If iCol = 2 Then fTable = "Table1-2"
If iCol = 3 Then fTable = "Table 1-2"
If iCol = 4 Then fTable = "Table 1-2"
If iCol = 5 Then fTable = "Résultats tab 1.2..."
ElseIf 'Etc.
End If
End Function--
Alex St-Pierre

2 réponses

Avatar
FxM
Bonjour Alex,

Si tu t'inquiètes des temps d'accès, cela veut-il dire que tu vas avoir
beaucoup d'appels de cette fonction (genre 200 dans la page) et/ou
beaucoup de choix possibles, ... ?
Dans le même genre : les textes changent-ils jamais, souvent, ... ?

Si tu as une régularité dans les T1-1, T1-2, ... et dans les choix 2, 3
et 4 tu pourrais simplifier le début de la fonction :

Function fTable(sNom As String, iCol As Integer)
select case iCol
case 2: fTable = "Table" & right(sNom,len(sNom)-1)
case 3: fTable = "Tableau " & right(sNom,len(sNom)-1)
case 4: fTable = "Tab " & right(sNom,len(sNom)-1)
case 5
select case sTypeName 'tiens tu as changé de variable !)
case ...
end select
end select
end function

Au besoin, tu mets un exemple sur cjoint.com et viens nous donner le lien.

@+
FxM


Bonjour,
J'ai une fonction qui sert à renvoyer de l'information. J'aimerais savoir
quel est la meilleur approche pour enregistrer l'information à l'intérieur de
la fonction. Est-il préférable d'enregistrer toutes l'informations sous forme
matricielle et par la suite, d'y faire référence avec un recherchev sur la
matrice stocké? Est-ce que ça va plus vite en utilisant la variable Array()
ou Case? Pour le moment, j'utilise la programmation ci-bas. Y aurait-il une
meilleur façon de faire comme enregistrer l'informations dans une variable
vectorielle à l'initialisation de la macro et par la suite, lorsque je fais
appel à la fonction, renvoyer l'information à l'aide d'un recherchev sur la
variable?
Merci !
Alex

Sub Temporaire()
rep = fTable("T1-2",3)
End Sub

Function fTable(sNom As String, iCol As Integer)
If sTypeName = "T1-1" Then
If iCol = 2 Then fTable = "Table1-1"
If iCol = 3 Then fTable = "Tableau 1-1"
If iCol = 4 Then fTable = "Tab 1-1"
If iCol = 5 Then fTableTitle = "Résultats sur base de
provisionnement")
ElseIf sTypeName = "T1-2" Then
If iCol = 2 Then fTable = "Table1-2"
If iCol = 3 Then fTable = "Table 1-2"
If iCol = 4 Then fTable = "Table 1-2"
If iCol = 5 Then fTable = "Résultats tab 1.2..."
ElseIf 'Etc.
End If
End Function--
Alex St-Pierre


Avatar
Alex St-Pierre
Merci FX!
http://cjoint.com/?kBro0kpq0E
Le programme cré des tableaux et permet de gérer et reconnaitre les tableaux
selon le type de tableau créer (gestion dans l'onglet Manager). Je me demande
si je pourrais mettre l'initialisation des onglets du formulaire à la
sélection de l'onglet(peut-être plus rapide)? Si jamais tu as des idées pour
améliorer le programme, n'hésite pas.
http://cjoint.com/?kBrsIBvvuG
Merci !
--
Alex St-Pierre



Bonjour Alex,

Si tu t'inquiètes des temps d'accès, cela veut-il dire que tu vas avoir
beaucoup d'appels de cette fonction (genre 200 dans la page) et/ou
beaucoup de choix possibles, ... ?
Dans le même genre : les textes changent-ils jamais, souvent, ... ?

Si tu as une régularité dans les T1-1, T1-2, ... et dans les choix 2, 3
et 4 tu pourrais simplifier le début de la fonction :

Function fTable(sNom As String, iCol As Integer)
select case iCol
case 2: fTable = "Table" & right(sNom,len(sNom)-1)
case 3: fTable = "Tableau " & right(sNom,len(sNom)-1)
case 4: fTable = "Tab " & right(sNom,len(sNom)-1)
case 5
select case sTypeName 'tiens tu as changé de variable !)
case ...
end select
end select
end function

Au besoin, tu mets un exemple sur cjoint.com et viens nous donner le lien.

@+
FxM


Bonjour,
J'ai une fonction qui sert à renvoyer de l'information. J'aimerais savoir
quel est la meilleur approche pour enregistrer l'information à l'intérieur de
la fonction. Est-il préférable d'enregistrer toutes l'informations sous forme
matricielle et par la suite, d'y faire référence avec un recherchev sur la
matrice stocké? Est-ce que ça va plus vite en utilisant la variable Array()
ou Case? Pour le moment, j'utilise la programmation ci-bas. Y aurait-il une
meilleur façon de faire comme enregistrer l'informations dans une variable
vectorielle à l'initialisation de la macro et par la suite, lorsque je fais
appel à la fonction, renvoyer l'information à l'aide d'un recherchev sur la
variable?
Merci !
Alex

Sub Temporaire()
rep = fTable("T1-2",3)
End Sub

Function fTable(sNom As String, iCol As Integer)
If sTypeName = "T1-1" Then
If iCol = 2 Then fTable = "Table1-1"
If iCol = 3 Then fTable = "Tableau 1-1"
If iCol = 4 Then fTable = "Tab 1-1"
If iCol = 5 Then fTableTitle = "Résultats sur base de
provisionnement")
ElseIf sTypeName = "T1-2" Then
If iCol = 2 Then fTable = "Table1-2"
If iCol = 3 Then fTable = "Table 1-2"
If iCol = 4 Then fTable = "Table 1-2"
If iCol = 5 Then fTable = "Résultats tab 1.2..."
ElseIf 'Etc.
End If
End Function--
Alex St-Pierre