Suite de test
Bonjour, à Tous
J'ai veux réaliser une suite de test en code vba qui me permettra de modifier les cellules de mon tableau.
en effet j'ai un tableau composé de Trois colonnes
sur colonne "F" de nombres décimaux, représenter par les cellules: Cells(6 + x, 6)
sur colonne "G" de nombres hexadécimaux, représenter par les cellules: Cells(6 + x, 7)
sur colonne "H" des caractères ascii, représenter par les cellules: Cells(6 + x, 8)
Mon traitement est réaliser comme suite:
-Si une cellule de la colonne décimale ou d'hexadécimal ou d'ascii est modifiée alors
On fait appel au fonctions de conversion décimal vers hexadécimal ainsi que décimal vers ascii
Et on copie les valeurs de la colonne décimal dans le registre Mbaxp
Sachant que l'utilisateur ne devra faire les modification rien que dans une et une seule colonne de son choix.
alors j'ai écrit se code:
If Handle = 2 Then
For x = 0 To intNbMots - 1
If Cells(6 + x, 6).Value <> TDEC(x) Then
TDEC(i) = Cells(6 + x, 6)
Call ConvDecimalHexadecimal(x)
Call ConvDecimalAscii(x)
Mbaxp1.Register(2, x) = Cells(6 + x, 6) 'copie des cellules à écrire dans la table MBAXP (handle2)
Cells(3, 12) = x + 1
ElseIf Cells(6 + x, 7) <> HEXA(x) Then
HEXA(x) = Cells(6 + x, 7)
Call ConvHexadecimalDecimal(x)
Call ConvDecimalAscii(x)
Mbaxp1.Register(2, x) = Cells(6 + x, 6) 'copie des cellules à écrire dans la table MBAXP (handle2)
Cells(3, 12) = x + 1
ElseIf Cells(6 + x, 8) <> ASCI(x) Then
ASCI(x) = Cells(6 + x, 8)
Call ConvAsciiDecimal(x)
Call ConvDecimalHexadecimal(x)
Mbaxp1.Register(2, x) = Cells(6 + x, 6) 'copie des cellules à écrire dans la table MBAXP (handle2)
Cells(3, 12) = x + 1
End If
'If IsNumeric(Range("F6:F200")) Then 'SI NUMERIQUE
'Mbaxp1.Register(2, x) = Cells(6 + x, 6) 'copie des cellules à écrire dans la table MBAXP (handle2)
'Cells(3, 12) = x + 1
'End If
Next x
s = Mbaxp1.UpdateDisable(2) 'arrêt handle 2 (écriture) si écriture réussie
End If
Mais cela fonction rein que pour le IF le premier ElseIf mais le second ne marche pas du moins il n’exécute pas les instructions.
j'ai cherche rechercher alors je viens vers vous pour sollicité votre vision, et votre aide voir même d'autres propositions de programmation . J'espère en toute confiance une personne désirant m'aider. Merci d'avance et excellente journée à tous
Si j'ai bien compris:
Dans la macro évenementielle worksheet.change
Tu fais un:
Select case target.column
Case 6
Cells(target.row,7) = ConvDecimalHexadecimal(x)
Cells(target.row,8) = ConvDecimalAscii(x)
Case 7....Merci d'avoir pris un peu de ton temps pour m'aider, mais pourrais tu explique stp merciEngueEngue a écrit :Si j'ai bien compris:
Dans la macro évenementielle worksheet.change
Tu fais un:
Select case target.column Case 6 Cells(target.row,7) = ConvDecimalHexadecimal(x) Cells(target.row,8) = ConvDecimalAscii(x) Case 7....