Bonjour,
J'ai un problème de recalcul de ma feuille excel.
J'importe une colonne qui se retrouve en texte
0000
0000
0000
0000
FFF0
7FFF
006C
0010
0040
et que je veux transformer en binaire avec la fonction suivante :
SI(NBCAR(B3)<3;"00000000"&
HEX2BIN(DROITE(B3;2);8);HEX2BIN(GAUCHE(B3;NBCAR(B3)-2);8)&
HEX2BIN(DROITE(B3;2);8))
Le résultat ne s'affiche que si je sélectionne la cellule et que je me place
dedans dans la barre de formule et que je fais entrée.
Mon option de calcul auto est bien activée. Même si je fais F9, cel a ne
calcule pas. Comme s' il ne comprenait ma colonne de texte que si je re ntre
dans la formule.
Avez-vous une idée pour que cela soit automatique ?
Merci d'avance à ceux qui se pencheront sur mon cas.
Caroual
Bonjour,
J'ai un problème de recalcul de ma feuille excel.
J'importe une colonne qui se retrouve en texte
0000
0000
0000
0000
FFF0
7FFF
006C
0010
0040
et que je veux transformer en binaire avec la fonction suivante :
SI(NBCAR(B3)<3;"00000000"&
HEX2BIN(DROITE(B3;2);8);HEX2BIN(GAUCHE(B3;NBCAR(B3)-2);8)&
HEX2BIN(DROITE(B3;2);8))
Le résultat ne s'affiche que si je sélectionne la cellule et que je me place
dedans dans la barre de formule et que je fais entrée.
Mon option de calcul auto est bien activée. Même si je fais F9, cel a ne
calcule pas. Comme s' il ne comprenait ma colonne de texte que si je re ntre
dans la formule.
Avez-vous une idée pour que cela soit automatique ?
Merci d'avance à ceux qui se pencheront sur mon cas.
Caroual
Bonjour,
J'ai un problème de recalcul de ma feuille excel.
J'importe une colonne qui se retrouve en texte
0000
0000
0000
0000
FFF0
7FFF
006C
0010
0040
et que je veux transformer en binaire avec la fonction suivante :
SI(NBCAR(B3)<3;"00000000"&
HEX2BIN(DROITE(B3;2);8);HEX2BIN(GAUCHE(B3;NBCAR(B3)-2);8)&
HEX2BIN(DROITE(B3;2);8))
Le résultat ne s'affiche que si je sélectionne la cellule et que je me place
dedans dans la barre de formule et que je fais entrée.
Mon option de calcul auto est bien activée. Même si je fais F9, cel a ne
calcule pas. Comme s' il ne comprenait ma colonne de texte que si je re ntre
dans la formule.
Avez-vous une idée pour que cela soit automatique ?
Merci d'avance à ceux qui se pencheront sur mon cas.
Caroual
Bonjour,
J'ai un problème de recalcul de ma feuille excel.
J'importe une colonne qui se retrouve en texte
0000
0000
0000
0000
FFF0
7FFF
006C
0010
0040
et que je veux transformer en binaire avec la fonction suivante :
SI(NBCAR(B3)<3;"00000000"&
HEX2BIN(DROITE(B3;2);8);HEX2BIN(GAUCHE(B3;NBCAR(B3)-2);8)&
HEX2BIN(DROITE(B3;2);8))
Le résultat ne s'affiche que si je sélectionne la cellule et que je me
place
dedans dans la barre de formule et que je fais entrée.
Mon option de calcul auto est bien activée. Même si je fais F9, cela ne
calcule pas. Comme s' il ne comprenait ma colonne de texte que si je
rentre
dans la formule.
Avez-vous une idée pour que cela soit automatique ?
Merci d'avance à ceux qui se pencheront sur mon cas.
Caroual
Bonjour,
J'ai un problème de recalcul de ma feuille excel.
J'importe une colonne qui se retrouve en texte
0000
0000
0000
0000
FFF0
7FFF
006C
0010
0040
et que je veux transformer en binaire avec la fonction suivante :
SI(NBCAR(B3)<3;"00000000"&
HEX2BIN(DROITE(B3;2);8);HEX2BIN(GAUCHE(B3;NBCAR(B3)-2);8)&
HEX2BIN(DROITE(B3;2);8))
Le résultat ne s'affiche que si je sélectionne la cellule et que je me
place
dedans dans la barre de formule et que je fais entrée.
Mon option de calcul auto est bien activée. Même si je fais F9, cela ne
calcule pas. Comme s' il ne comprenait ma colonne de texte que si je
rentre
dans la formule.
Avez-vous une idée pour que cela soit automatique ?
Merci d'avance à ceux qui se pencheront sur mon cas.
Caroual
Bonjour,
J'ai un problème de recalcul de ma feuille excel.
J'importe une colonne qui se retrouve en texte
0000
0000
0000
0000
FFF0
7FFF
006C
0010
0040
et que je veux transformer en binaire avec la fonction suivante :
SI(NBCAR(B3)<3;"00000000"&
HEX2BIN(DROITE(B3;2);8);HEX2BIN(GAUCHE(B3;NBCAR(B3)-2);8)&
HEX2BIN(DROITE(B3;2);8))
Le résultat ne s'affiche que si je sélectionne la cellule et que je me
place
dedans dans la barre de formule et que je fais entrée.
Mon option de calcul auto est bien activée. Même si je fais F9, cela ne
calcule pas. Comme s' il ne comprenait ma colonne de texte que si je
rentre
dans la formule.
Avez-vous une idée pour que cela soit automatique ?
Merci d'avance à ceux qui se pencheront sur mon cas.
Caroual
Merci pour tes explications.
Effectivement la solution de la boucle permet de recalculer et du coup
d'afficher le résultat.
La formule est bonne car elle marche sur certains micros.
Je l'ai testée chez moi. Elle ne fonctionnait pas, j'ai coché la ma cro
complémentaire Utilitaires d'analyses VBA. et elle a marché, à pa rt le
problème de recalcul mais là avec la boucle je devrais m'en sortir (pas de
lignes vides)
Ensuite j'ai retesté en enlevant la macro complèmentaire et elle ma rchait
tout de même.
Bref je ne comprends pas trop l'impact de la macro complémentaire.
C'est un collègue qui a ce problème mais je n'ai pas accès à to us les micros
sur lesquels il a installé son fichier si bien qu'il est difficile de tester
quoique ce soit.
Je lui ai donné ta solution de boucle, je lui ai dit que chez moi la macro
complèmentaire semblait avoir un impact....
Est-il possible de lier une macro complémentaire (ici utilitaires d'a nalyses
VBA) avec son fichier ? Au moins il pourrait s'affranchir de l'existenc e ou
non de cette macro complémentaire sur tous les postes.
Merci beaucoup
Caroual
Merci pour tes explications.
Effectivement la solution de la boucle permet de recalculer et du coup
d'afficher le résultat.
La formule est bonne car elle marche sur certains micros.
Je l'ai testée chez moi. Elle ne fonctionnait pas, j'ai coché la ma cro
complémentaire Utilitaires d'analyses VBA. et elle a marché, à pa rt le
problème de recalcul mais là avec la boucle je devrais m'en sortir (pas de
lignes vides)
Ensuite j'ai retesté en enlevant la macro complèmentaire et elle ma rchait
tout de même.
Bref je ne comprends pas trop l'impact de la macro complémentaire.
C'est un collègue qui a ce problème mais je n'ai pas accès à to us les micros
sur lesquels il a installé son fichier si bien qu'il est difficile de tester
quoique ce soit.
Je lui ai donné ta solution de boucle, je lui ai dit que chez moi la macro
complèmentaire semblait avoir un impact....
Est-il possible de lier une macro complémentaire (ici utilitaires d'a nalyses
VBA) avec son fichier ? Au moins il pourrait s'affranchir de l'existenc e ou
non de cette macro complémentaire sur tous les postes.
Merci beaucoup
Caroual
Merci pour tes explications.
Effectivement la solution de la boucle permet de recalculer et du coup
d'afficher le résultat.
La formule est bonne car elle marche sur certains micros.
Je l'ai testée chez moi. Elle ne fonctionnait pas, j'ai coché la ma cro
complémentaire Utilitaires d'analyses VBA. et elle a marché, à pa rt le
problème de recalcul mais là avec la boucle je devrais m'en sortir (pas de
lignes vides)
Ensuite j'ai retesté en enlevant la macro complèmentaire et elle ma rchait
tout de même.
Bref je ne comprends pas trop l'impact de la macro complémentaire.
C'est un collègue qui a ce problème mais je n'ai pas accès à to us les micros
sur lesquels il a installé son fichier si bien qu'il est difficile de tester
quoique ce soit.
Je lui ai donné ta solution de boucle, je lui ai dit que chez moi la macro
complèmentaire semblait avoir un impact....
Est-il possible de lier une macro complémentaire (ici utilitaires d'a nalyses
VBA) avec son fichier ? Au moins il pourrait s'affranchir de l'existenc e ou
non de cette macro complémentaire sur tous les postes.
Merci beaucoup
Caroual
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
Ce qui précède est vrai aussi longtemps que le fichier n'est pas ouvert
avec une version
Excel 2007 ou 2010. Dans un tel cas, comme expliquer dans mon premier
message, Excel
ne reconnaîtra pas les fonctions écrites en anglais dans la feuille de
calcul à moins que la
langue de l'application soit anglaise. Par contre, si le développeur avait
utilisé les noms des
fonctions dans la langue de l'application, Excel 2007 et 2010 n'aurait
aucun problème à
reconnaître les fonctions. Il faut savoir s'adapter selon les besoins du
moment!
MichD
------------------------------------------
"MichD" a écrit dans le message de groupe de discussion :
jed10t$49u$
| Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
N.B. Pour les versions Excel antérieures à Excel 2007, si un fichier doit
se promener dans plusieurs pays
et que le développeur veut utiliser des fonctions appartenant à la macro
complémentaire Utilitaire d'Analyse,
au lieu d'écrire les noms des fonctions en français dans la feuille de
calcul, il est préférable de charger la
macro complémentaire "Utilitaire d'Analyse VBA" et d'employer
l'appellation des fonctions appartement à la
macro complémentaire utilitaire vba en anglais. Comme ces fonctions ont
été crées pour le VBA et sont en anglais,
elles devraient fonctionner dans toutes les langues puisque la langue dans
lequel est écrit le langage "vba"
demeure la même "l'anglais" peu importe la langue d'usage du pays.
MichD
------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion :
4f09f68a$0$5047$
Salut Denis
Ben, perso, je fais partie du "presque".... -)))Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
Merci pour cette brillante réponse.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
jecp0p$gr8$
Bonjour,
Débutons par une petite explication :
Auparavant sous les versions antérieures à Excel 2007, si les 2 macros
complémentaires ("utilitaire d'analyse" ou
"utilitaire d'analyse VBA") étaient chargées, on pouvait utiliser
l'appellation anglaise d'une fonction "Workday" à
titre d'exemple directement dans la feuille de calcul. Il s'agissait de se
souvenir de son nom et de la saisir
manuellement la première fois, et elle s'ajoutait d'elle-même à la liste
des
fonctions disponibles dans la feuille
de calcul. La fonction "Workday()" était une des fonctions de la macro
complémentaire "utilitaire d'analyse vba" et
non l'une des fonctions de la macro complémentaire "Utilitaire d'analyse".
Ceci ne s'applique pas seulement à la
fonction "Workday()" mais à toutes les fonctions des 2 macros
complémentaires...
Dans ta formule, "HEX2BIN()" relève de la macro complémentaire "Utilitaire
d'analyse VBA". C'est l'appellation
anglaise de la fonction "HEXBIN()" de la macro complémentaire "Utilitaire
d'analyse". Si le fichier est distribué
à plusieurs usagers dont la configuration de leur ordinateur est
différente,
certains pourraient bien éprouver des
difficultés.
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
2007, ne fait pas la traduction des
fonctions d'une langue à l'autre lorsqu'elles émanent de la macro
complémentaire utilitaire d'analyse. Ceci est
vrai pour toutes les langues. À cause de la macro complémentaire d'analyse
VBA (qui elle fut écrite pour être
utilisé en VBA , donc en anglais, ceci peut nous laisser l'impression que
c'est différent pour le Français et
l'anglais, mais il n'en est rien.
Depuis la version Excel 2007, 39 fonctions de l'utilitaire d'analyse ont
été
intégrées directement aux fonctions
natives d'Excel. Ceci est aussi vrai pour l'utilitaire d'analyse VBA (les
mêmes fonctions que l'utilitaire d'analyse,
mais en anglais)
Conséquence : dans Excel 2007, 2010, même si la macro complémentaire
utilitaire d'analyse vba est chargée,
on ne peut plus appeler la fonction Workday() car elle n'existe plus dans
la
macro complémentaire "utilitaire
d'analyse VBA", le pendant de l'autre macro complémentaire en français.
Cela a une incidence même en VBA.
Dans Excel 2007, 2010 même si on passe en référence (outils / référence)
la
macro complémentaire "atpvbaen",
la fonction Workday (et toutes les autres 38 fonctions) ne sont plus
disponibles directement en VBA. On ne peut
plus écrire : x = Workday(Now, 10). Ces fonctions appartiennent à la
feuille de calcul suite à leur intégration aux
fonctions natives d'Excel.
On peut toujours utiliser dans Excel 2007, 2010 seulement ceci : a > Application.WorksheetFunction.WorkDay(Now(), 10)
mais pas dans les autres versions antérieures d'Excel 2007 où il faudra
employer : X = Workday(Now(),10) en ajoutant
la référence "atpvbaen" au projetVBA en cours.
Ben, si tu avais l'habitude d'utiliser les fonctions de l'utilitaire
d'analyse VBA dans ta feuille de calcul en employant le
nom anglais des fonctions dans les versions précédentes d'Excel, tu aurais
beaucoup de peine à faire comprendre à la version
Excel 2007, 2010, le nom de la fonction utilisée en anglais.
Au lieu d'une boucle, tu pourrais employer ceci, qui est beaucoup plus
rapide qu'une boucle...Tu dois adapter le nom de la
feuille. J'ai
supposé que tu devais inscrire la formule dans la plage "D3 à Dx", à toi
d'adapter la colonne le cas échéant.
'----------------------------------------------
Sub Test()
Dim DerLig As Long
With Worksheets("Feuil1")
DerLig = .Range("C65536").End(xlUp).Row
.Range("D3").Formula = _
"=IF(LEN(B3)<3,""00000000""&HEX2BIN(RIGHT(C3,2),8)" & _
",HEX2BIN(LEFT(C3,LEN(C3)-2),8)&HEX2BIN(RIGHT(C3,2),8))"
.Range("D3:D" & DerLig).FillDown
End With
End Sub
'----------------------------------------------
MichD
------------------------------------------
"stspuc" a écrit dans le message de groupe de discussion :
4f05e5b4$0$9122$
Bonjour,
J'ai un problème de recalcul de ma feuille excel.
J'importe une colonne qui se retrouve en texte
0000
0000
0000
0000
FFF0
7FFF
006C
0010
0040
et que je veux transformer en binaire avec la fonction suivante :
SI(NBCAR(B3)<3;"00000000" &
HEX2BIN(DROITE(B3;2);8);HEX2BIN(GAUCHE(B3;NBCAR(B3)-2);8) &
HEX2BIN(DROITE(B3;2);8))
Le résultat ne s'affiche que si je sélectionne la cellule et que je me
place
dedans dans la barre de formule et que je fais entrée.
Mon option de calcul auto est bien activée. Même si je fais F9, cela ne
calcule pas. Comme s' il ne comprenait ma colonne de texte que si je
rentre
dans la formule.
Avez-vous une idée pour que cela soit automatique ?
Merci d'avance à ceux qui se pencheront sur mon cas.
Caroual
Ce qui précède est vrai aussi longtemps que le fichier n'est pas ouvert
avec une version
Excel 2007 ou 2010. Dans un tel cas, comme expliquer dans mon premier
message, Excel
ne reconnaîtra pas les fonctions écrites en anglais dans la feuille de
calcul à moins que la
langue de l'application soit anglaise. Par contre, si le développeur avait
utilisé les noms des
fonctions dans la langue de l'application, Excel 2007 et 2010 n'aurait
aucun problème à
reconnaître les fonctions. Il faut savoir s'adapter selon les besoins du
moment!
MichD
------------------------------------------
"MichD" a écrit dans le message de groupe de discussion :
jed10t$49u$1@speranza.aioe.org...
| Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
N.B. Pour les versions Excel antérieures à Excel 2007, si un fichier doit
se promener dans plusieurs pays
et que le développeur veut utiliser des fonctions appartenant à la macro
complémentaire Utilitaire d'Analyse,
au lieu d'écrire les noms des fonctions en français dans la feuille de
calcul, il est préférable de charger la
macro complémentaire "Utilitaire d'Analyse VBA" et d'employer
l'appellation des fonctions appartement à la
macro complémentaire utilitaire vba en anglais. Comme ces fonctions ont
été crées pour le VBA et sont en anglais,
elles devraient fonctionner dans toutes les langues puisque la langue dans
lequel est écrit le langage "vba"
demeure la même "l'anglais" peu importe la langue d'usage du pays.
MichD
------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion :
4f09f68a$0$5047$ba620e4c@news.skynet.be...
Salut Denis
Ben, perso, je fais partie du "presque".... -)))
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
Merci pour cette brillante réponse.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
jecp0p$gr8$1@speranza.aioe.org...
Bonjour,
Débutons par une petite explication :
Auparavant sous les versions antérieures à Excel 2007, si les 2 macros
complémentaires ("utilitaire d'analyse" ou
"utilitaire d'analyse VBA") étaient chargées, on pouvait utiliser
l'appellation anglaise d'une fonction "Workday" à
titre d'exemple directement dans la feuille de calcul. Il s'agissait de se
souvenir de son nom et de la saisir
manuellement la première fois, et elle s'ajoutait d'elle-même à la liste
des
fonctions disponibles dans la feuille
de calcul. La fonction "Workday()" était une des fonctions de la macro
complémentaire "utilitaire d'analyse vba" et
non l'une des fonctions de la macro complémentaire "Utilitaire d'analyse".
Ceci ne s'applique pas seulement à la
fonction "Workday()" mais à toutes les fonctions des 2 macros
complémentaires...
Dans ta formule, "HEX2BIN()" relève de la macro complémentaire "Utilitaire
d'analyse VBA". C'est l'appellation
anglaise de la fonction "HEXBIN()" de la macro complémentaire "Utilitaire
d'analyse". Si le fichier est distribué
à plusieurs usagers dont la configuration de leur ordinateur est
différente,
certains pourraient bien éprouver des
difficultés.
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
2007, ne fait pas la traduction des
fonctions d'une langue à l'autre lorsqu'elles émanent de la macro
complémentaire utilitaire d'analyse. Ceci est
vrai pour toutes les langues. À cause de la macro complémentaire d'analyse
VBA (qui elle fut écrite pour être
utilisé en VBA , donc en anglais, ceci peut nous laisser l'impression que
c'est différent pour le Français et
l'anglais, mais il n'en est rien.
Depuis la version Excel 2007, 39 fonctions de l'utilitaire d'analyse ont
été
intégrées directement aux fonctions
natives d'Excel. Ceci est aussi vrai pour l'utilitaire d'analyse VBA (les
mêmes fonctions que l'utilitaire d'analyse,
mais en anglais)
Conséquence : dans Excel 2007, 2010, même si la macro complémentaire
utilitaire d'analyse vba est chargée,
on ne peut plus appeler la fonction Workday() car elle n'existe plus dans
la
macro complémentaire "utilitaire
d'analyse VBA", le pendant de l'autre macro complémentaire en français.
Cela a une incidence même en VBA.
Dans Excel 2007, 2010 même si on passe en référence (outils / référence)
la
macro complémentaire "atpvbaen",
la fonction Workday (et toutes les autres 38 fonctions) ne sont plus
disponibles directement en VBA. On ne peut
plus écrire : x = Workday(Now, 10). Ces fonctions appartiennent à la
feuille de calcul suite à leur intégration aux
fonctions natives d'Excel.
On peut toujours utiliser dans Excel 2007, 2010 seulement ceci : a > Application.WorksheetFunction.WorkDay(Now(), 10)
mais pas dans les autres versions antérieures d'Excel 2007 où il faudra
employer : X = Workday(Now(),10) en ajoutant
la référence "atpvbaen" au projetVBA en cours.
Ben, si tu avais l'habitude d'utiliser les fonctions de l'utilitaire
d'analyse VBA dans ta feuille de calcul en employant le
nom anglais des fonctions dans les versions précédentes d'Excel, tu aurais
beaucoup de peine à faire comprendre à la version
Excel 2007, 2010, le nom de la fonction utilisée en anglais.
Au lieu d'une boucle, tu pourrais employer ceci, qui est beaucoup plus
rapide qu'une boucle...Tu dois adapter le nom de la
feuille. J'ai
supposé que tu devais inscrire la formule dans la plage "D3 à Dx", à toi
d'adapter la colonne le cas échéant.
'----------------------------------------------
Sub Test()
Dim DerLig As Long
With Worksheets("Feuil1")
DerLig = .Range("C65536").End(xlUp).Row
.Range("D3").Formula = _
"=IF(LEN(B3)<3,""00000000""&HEX2BIN(RIGHT(C3,2),8)" & _
",HEX2BIN(LEFT(C3,LEN(C3)-2),8)&HEX2BIN(RIGHT(C3,2),8))"
.Range("D3:D" & DerLig).FillDown
End With
End Sub
'----------------------------------------------
MichD
------------------------------------------
"stspuc" a écrit dans le message de groupe de discussion :
4f05e5b4$0$9122$426a74cc@news.free.fr...
Bonjour,
J'ai un problème de recalcul de ma feuille excel.
J'importe une colonne qui se retrouve en texte
0000
0000
0000
0000
FFF0
7FFF
006C
0010
0040
et que je veux transformer en binaire avec la fonction suivante :
SI(NBCAR(B3)<3;"00000000" &
HEX2BIN(DROITE(B3;2);8);HEX2BIN(GAUCHE(B3;NBCAR(B3)-2);8) &
HEX2BIN(DROITE(B3;2);8))
Le résultat ne s'affiche que si je sélectionne la cellule et que je me
place
dedans dans la barre de formule et que je fais entrée.
Mon option de calcul auto est bien activée. Même si je fais F9, cela ne
calcule pas. Comme s' il ne comprenait ma colonne de texte que si je
rentre
dans la formule.
Avez-vous une idée pour que cela soit automatique ?
Merci d'avance à ceux qui se pencheront sur mon cas.
Caroual
Ce qui précède est vrai aussi longtemps que le fichier n'est pas ouvert
avec une version
Excel 2007 ou 2010. Dans un tel cas, comme expliquer dans mon premier
message, Excel
ne reconnaîtra pas les fonctions écrites en anglais dans la feuille de
calcul à moins que la
langue de l'application soit anglaise. Par contre, si le développeur avait
utilisé les noms des
fonctions dans la langue de l'application, Excel 2007 et 2010 n'aurait
aucun problème à
reconnaître les fonctions. Il faut savoir s'adapter selon les besoins du
moment!
MichD
------------------------------------------
"MichD" a écrit dans le message de groupe de discussion :
jed10t$49u$
| Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
N.B. Pour les versions Excel antérieures à Excel 2007, si un fichier doit
se promener dans plusieurs pays
et que le développeur veut utiliser des fonctions appartenant à la macro
complémentaire Utilitaire d'Analyse,
au lieu d'écrire les noms des fonctions en français dans la feuille de
calcul, il est préférable de charger la
macro complémentaire "Utilitaire d'Analyse VBA" et d'employer
l'appellation des fonctions appartement à la
macro complémentaire utilitaire vba en anglais. Comme ces fonctions ont
été crées pour le VBA et sont en anglais,
elles devraient fonctionner dans toutes les langues puisque la langue dans
lequel est écrit le langage "vba"
demeure la même "l'anglais" peu importe la langue d'usage du pays.
MichD
------------------------------------------
"Jacquouille" a écrit dans le message de groupe de discussion :
4f09f68a$0$5047$
Salut Denis
Ben, perso, je fais partie du "presque".... -)))Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
Merci pour cette brillante réponse.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
jecp0p$gr8$
Bonjour,
Débutons par une petite explication :
Auparavant sous les versions antérieures à Excel 2007, si les 2 macros
complémentaires ("utilitaire d'analyse" ou
"utilitaire d'analyse VBA") étaient chargées, on pouvait utiliser
l'appellation anglaise d'une fonction "Workday" à
titre d'exemple directement dans la feuille de calcul. Il s'agissait de se
souvenir de son nom et de la saisir
manuellement la première fois, et elle s'ajoutait d'elle-même à la liste
des
fonctions disponibles dans la feuille
de calcul. La fonction "Workday()" était une des fonctions de la macro
complémentaire "utilitaire d'analyse vba" et
non l'une des fonctions de la macro complémentaire "Utilitaire d'analyse".
Ceci ne s'applique pas seulement à la
fonction "Workday()" mais à toutes les fonctions des 2 macros
complémentaires...
Dans ta formule, "HEX2BIN()" relève de la macro complémentaire "Utilitaire
d'analyse VBA". C'est l'appellation
anglaise de la fonction "HEXBIN()" de la macro complémentaire "Utilitaire
d'analyse". Si le fichier est distribué
à plusieurs usagers dont la configuration de leur ordinateur est
différente,
certains pourraient bien éprouver des
difficultés.
Tous (ou presque) savent qu'Excel sous les versions précédentes à Excel
2007, ne fait pas la traduction des
fonctions d'une langue à l'autre lorsqu'elles émanent de la macro
complémentaire utilitaire d'analyse. Ceci est
vrai pour toutes les langues. À cause de la macro complémentaire d'analyse
VBA (qui elle fut écrite pour être
utilisé en VBA , donc en anglais, ceci peut nous laisser l'impression que
c'est différent pour le Français et
l'anglais, mais il n'en est rien.
Depuis la version Excel 2007, 39 fonctions de l'utilitaire d'analyse ont
été
intégrées directement aux fonctions
natives d'Excel. Ceci est aussi vrai pour l'utilitaire d'analyse VBA (les
mêmes fonctions que l'utilitaire d'analyse,
mais en anglais)
Conséquence : dans Excel 2007, 2010, même si la macro complémentaire
utilitaire d'analyse vba est chargée,
on ne peut plus appeler la fonction Workday() car elle n'existe plus dans
la
macro complémentaire "utilitaire
d'analyse VBA", le pendant de l'autre macro complémentaire en français.
Cela a une incidence même en VBA.
Dans Excel 2007, 2010 même si on passe en référence (outils / référence)
la
macro complémentaire "atpvbaen",
la fonction Workday (et toutes les autres 38 fonctions) ne sont plus
disponibles directement en VBA. On ne peut
plus écrire : x = Workday(Now, 10). Ces fonctions appartiennent à la
feuille de calcul suite à leur intégration aux
fonctions natives d'Excel.
On peut toujours utiliser dans Excel 2007, 2010 seulement ceci : a > Application.WorksheetFunction.WorkDay(Now(), 10)
mais pas dans les autres versions antérieures d'Excel 2007 où il faudra
employer : X = Workday(Now(),10) en ajoutant
la référence "atpvbaen" au projetVBA en cours.
Ben, si tu avais l'habitude d'utiliser les fonctions de l'utilitaire
d'analyse VBA dans ta feuille de calcul en employant le
nom anglais des fonctions dans les versions précédentes d'Excel, tu aurais
beaucoup de peine à faire comprendre à la version
Excel 2007, 2010, le nom de la fonction utilisée en anglais.
Au lieu d'une boucle, tu pourrais employer ceci, qui est beaucoup plus
rapide qu'une boucle...Tu dois adapter le nom de la
feuille. J'ai
supposé que tu devais inscrire la formule dans la plage "D3 à Dx", à toi
d'adapter la colonne le cas échéant.
'----------------------------------------------
Sub Test()
Dim DerLig As Long
With Worksheets("Feuil1")
DerLig = .Range("C65536").End(xlUp).Row
.Range("D3").Formula = _
"=IF(LEN(B3)<3,""00000000""&HEX2BIN(RIGHT(C3,2),8)" & _
",HEX2BIN(LEFT(C3,LEN(C3)-2),8)&HEX2BIN(RIGHT(C3,2),8))"
.Range("D3:D" & DerLig).FillDown
End With
End Sub
'----------------------------------------------
MichD
------------------------------------------
"stspuc" a écrit dans le message de groupe de discussion :
4f05e5b4$0$9122$
Bonjour,
J'ai un problème de recalcul de ma feuille excel.
J'importe une colonne qui se retrouve en texte
0000
0000
0000
0000
FFF0
7FFF
006C
0010
0040
et que je veux transformer en binaire avec la fonction suivante :
SI(NBCAR(B3)<3;"00000000" &
HEX2BIN(DROITE(B3;2);8);HEX2BIN(GAUCHE(B3;NBCAR(B3)-2);8) &
HEX2BIN(DROITE(B3;2);8))
Le résultat ne s'affiche que si je sélectionne la cellule et que je me
place
dedans dans la barre de formule et que je fais entrée.
Mon option de calcul auto est bien activée. Même si je fais F9, cela ne
calcule pas. Comme s' il ne comprenait ma colonne de texte que si je
rentre
dans la formule.
Avez-vous une idée pour que cela soit automatique ?
Merci d'avance à ceux qui se pencheront sur mon cas.
Caroual