Apliquer cette macro à plusieur ligne
Résolu/Fermé
julien
-
25 févr. 2016 à 15:56
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 26 févr. 2016 à 09:40
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 26 févr. 2016 à 09:40
A voir également:
- Apliquer cette macro à plusieur ligne
- Aller à la ligne excel - Guide
- Apparaitre hors ligne instagram - Guide
- Vente en ligne particulier - Guide
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
1 réponse
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
26 févr. 2016 à 08:32
26 févr. 2016 à 08:32
Bonjour,
Ton code modifié : (tu n'as plus qu'à appeler la Boucle plutôt que ta Conversion_HEXA)
Ton code modifié : (tu n'as plus qu'à appeler la Boucle plutôt que ta Conversion_HEXA)
Sub Boucle() Dim DLig As Long, Lign As Long DLig = Sheets("Feuil1").Columns(25).Find("*", , , , , xlPrevious).Row For Lign = 2 To DLig Conversion_HEXA Lign Next End Sub Sub Conversion_HEXA(maLign As Long) ' Ce programme permet de convertir dans un tableau la première ligne hexadécimal en valeur exploitable pour ensuite ' recopier les valeurs sur la ligne correspondante ' (Attention la ligne ou sera copier les chaines hexa doit être de format "TEXTE" ' pour éviter que " E8 " ne soit traduit en E puissance ) . j = 11 ' J prend la valeur 11 X = 1 ' x prend la valeur 1 k = 26 ' k prend la valeur 26 'Cells(maLign, 25).Select ' Selection de la celule (2,25) qui correpond à la première ligne héxadécimale n = Len(Cells(maLign, 25)) ' La variable n prend la valeur du nombre de caractère dans la cellule If n = 102 Then ' Si n = 102 , alors , ( Si le code à plus de 15 chaines de caractère , marquer " Unknow") While j <= 25 And X <= 102 ' Tant que j <= 25 et que x <= 2 102 alors , Cells(j, 45).Value = Mid(Cells(maLign, 25).Value, X, 4) ' La cellule (j,45) prend la valeur de la chaine de caractère correspondante ' x pour le numéro du caractère ou débute l'extraction est 4 pour le nombre de caractèreà extraire Cells(maLign, k).Value = Cells(j, 47) ' La cellule (j,47) prend la valeur de la cellule (2,k ) ( Transposition de la contenance du tableau en ligne X = X + 7 ' x s'incrémente de 7 ( pour arriver à la prochaine chaine de caractère j = j + 1 ' j s'incrémente de 1 (pour passer à la ligne suivant ou sera copié la chaine hexa ) k = k + 1 Wend ' Fin de la boucle Else ' Sinon While j <= 25 And X <= 102 ' Tant que j <= 25 et que x <= 2 102 alors , Cells(j, 45).Value = "Unknow" ' La cellule (j,45) prend la valeur "Unknow" ( Chaine de caractères différents de 15) Cells(maLign, k).Value = "-" ' La cellule (2,k) prend la valeur " - " pour indiquer un paramètre inconnu X = X + 7 ' x s'incrémente de 7 ( pour arriver à la prochaine chaine de caractère) j = j + 1 ' j s'incrémente de 1 (pour passer à la ligne suivante ou sera copié la chaine hexa ) k = k + 1 ' k s'incrémente de 1 ( Pour passer à la colonne suivante) Wend ' Fin de la boucle End If ' Fin de la boucle End Sub
26 févr. 2016 à 09:23
Clap Clap Clap !!!! Le code marche parfaitement je te remercie énormément et te souhaite un bon weekend un peu en avance :D
A bientôt peut-être :)
26 févr. 2016 à 09:40
Merci et bon week end à toi également.