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

Macro Excell 2000

4 réponses
Avatar
Rafi
Hello,
Nous utilisons une macro sous excell 2000 en français ; et je n'arrive pas à
utiliser celle-ci sur excell 2000 en anglais ! Pourriez-vous me dire les
modifications à effectuer sur cette macro ou les réglages à effectuer SVP
Merci d'avance

Rafi

4 réponses

Avatar
Gloops
Salut,

Elle est longue, la macro ?
______________
Hello,
Nous utilisons une macro sous excell 2000 en français ; et je n'arrive pas à
utiliser celle-ci sur excell 2000 en anglais ! Pourriez-vous me dire les
modifications à effectuer sur cette macro ou les réglages à effectuer SVP
Merci d'avance

Rafi




Avatar
Rafi
Voici à quoi elle ressemble :

"
'Procédure principale
'--------------------
Sub CodeTraducteur()
Attribute CodeTraducteur.VB_Description
Attribute CodeTraducteur.VB_ProcData.VB_Invoke_Func = " n0"
Dim Compteur As Integer
Dim Code As String * 10
Dim tabCode(1 To 10) As String * 1
Dim tabCodetrans(1 To 10) As String * 1
Dim Cas As Integer
Dim Valeur As Boolean
Sheets("code reader ").Select

'Début du programme
Range("o11").Select
Valeur = True

While Valeur = True
Compteur = 0
For i = 0 To 2
If ActiveCell.Offset(0, i) <> "" Then
Compteur = Compteur + 1
End If
Next i

Select Case Compteur
Case 0
Valeur = False
Case 1
'Prise du code
If ActiveCell <> "" Then
Code = ActiveCell
Cas = 1
ElseIf ActiveCell.Offset(0, 1) <> "" Then
Code = ActiveCell.Offset(0, 1)
Cas = 2
Else
Code = ActiveCell.Offset(0, 2)
Cas = 3
End If
ActiveCell.Offset(0, -12) = Code

ActiveCell.Offset(0, -12).Select
For i = 1 To 10
tabCode(i) = ActiveCell.Offset(0, i)
Next i

'Résolution suivant les cas
ActiveCell.Offset(0, 12).Activate
Select Case Cas
Case 1
'Mego sens normal
For i = 1 To 10
tabCode(i) = Conversion(tabCode(i))
Next i
ActiveCell.Offset(0, 2) = tabCode(1) & tabCode(2) & tabCode(3) &
tabCode(4) & tabCode(5) & tabCode(6) & tabCode(7) & tabCode(8) & tabCode(9)
& tabCode(10)
'Mego sens inversé
For i = 1 To 10
tabCodetrans(i) = tabCode(i)
Next i
For i = 1 To 10
tabCode(i) = tabCodetrans(Transfert(i))
Next i
ActiveCell.Offset(0, 1) = tabCode(1) & tabCode(2) & tabCode(3) &
tabCode(4) & tabCode(5) & tabCode(6) & tabCode(7) & tabCode(8) & tabCode(9)
& tabCode(10)
Case 2
'Mego sens normal
For i = 1 To 10
tabCodetrans(i) = tabCode(i)
Next i
For i = 1 To 10
tabCode(i) = tabCodetrans(Transfert(i))
Next i
ActiveCell.Offset(0, 2) = tabCode(1) & tabCode(2) & tabCode(3) &
tabCode(4) & tabCode(5) & tabCode(6) & tabCode(7) & tabCode(8) & tabCode(9)
& tabCode(10)
'Code reader à main
For i = 1 To 10
tabCode(i) = Conversion(tabCode(i))
Next i
ActiveCell.Value = tabCode(1) & tabCode(2) & tabCode(3) &
tabCode(4) & tabCode(5) & tabCode(6) & tabCode(7) & tabCode(8) & tabCode(9)
& tabCode(10)
Case 3
'Code reader à main
For i = 1 To 10
tabCode(i) = Conversion(tabCode(i))
Next i
ActiveCell.Value = tabCode(1) & tabCode(2) & tabCode(3) &
tabCode(4) & tabCode(5) & tabCode(6) & tabCode(7) & tabCode(8) & tabCode(9)
& tabCode(10)
'Mego sens inversé
For i = 1 To 10
tabCode(i) = Conversion(tabCode(i))
Next i
For i = 1 To 10
tabCodetrans(i) = tabCode(i)
Next i
For i = 1 To 10
tabCode(i) = tabCodetrans(Transfert(i))
Next i
ActiveCell.Offset(0, 1) = tabCode(1) & tabCode(2) & tabCode(3) &
tabCode(4) & tabCode(5) & tabCode(6) & tabCode(7) & tabCode(8) & tabCode(9)
& tabCode(10)

End Select
ActiveCell.Offset(1, 0).Select
Case 2
MsgBox "Il ne faut écrire qu'un seul code par ligne", vbOKOnly +
vbExclamation, "ATTENTION"
Exit Sub
Case 3
ActiveCell.Offset(1, 0).Select
End Select
Wend
End Sub

'fonction Conversion
'-------------------
Function Conversion(tabCode As String)
Attribute Conversion.VB_ProcData.VB_Invoke_Func = " n14"
Select Case tabCode
Case "0"
Conversion = "0"
Case "1"
Conversion = "8"
Case "2"
Conversion = "4"
Case "3"
Conversion = "C"
Case "4"
Conversion = "2"
Case "5"
Conversion = "A"
Case "6"
Conversion = "6"
Case "7"
Conversion = "E"
Case "8"
Conversion = "1"
Case "9"
Conversion = "9"
Case "A"
Conversion = "5"
Case "a"
Conversion = "5"
Case "B"
Conversion = "D"
Case "b"
Conversion = "D"
Case "C"
Conversion = "3"
Case "c"
Conversion = "3"
Case "D"
Conversion = "B"
Case "d"
Conversion = "B"
Case "E"
Conversion = "7"
Case "e"
Conversion = "7"
Case "F"
Conversion = "F"
Case "f"
Conversion = "F"
End Select
End Function

'fonction Transfert
'------------------
Function Transfert(i As Variant)
Attribute Transfert.VB_ProcData.VB_Invoke_Func = " n14"
Select Case i
Case 1
Transfert = 2
Case 2
Transfert = 1
Case 3
Transfert = 4
Case 4
Transfert = 3
Case 5
Transfert = 6
Case 6
Transfert = 5
Case 7
Transfert = 8
Case 8
Transfert = 7
Case 9
Transfert = 10
Case 10
Transfert = 9
End Select
End Function
"
J'espère que cela peut te dire quelque chose...

Rafi

"Gloops" a écrit dans le message de
news:
Salut,

Elle est longue, la macro ?
______________
Hello,
Nous utilisons une macro sous excell 2000 en français ; et je n'arrive
pas à


utiliser celle-ci sur excell 2000 en anglais ! Pourriez-vous me dire les
modifications à effectuer sur cette macro ou les réglages à effectuer
SVP


Merci d'avance

Rafi






Avatar
bayosky
Dans le message %,

Salut,

Visiblement les coupables sont là... :

Attribute CodeTraducteur.VB_Description
Attribute CodeTraducteur.VB_ProcData.VB_Invoke_Func = " n0"
Attribute Conversion.VB_ProcData.VB_Invoke_Func = " n14"
Attribute Transfert.VB_ProcData.VB_Invoke_Func = " n14"


HB

Avatar
Rafi
Et peut-on attribuer cette macro pour plusieurs langues ? Et comment SVP
Merci
Rafi
"bayosky" a écrit dans le message de
news:
Dans le message %,

Salut,

Visiblement les coupables sont là... :

Attribute CodeTraducteur.VB_Description
Attribute CodeTraducteur.VB_ProcData.VB_Invoke_Func = " n0"
Attribute Conversion.VB_ProcData.VB_Invoke_Func = " n14"
Attribute Transfert.VB_ProcData.VB_Invoke_Func = " n14"


HB