Excel2010: traduction dans une formule
Résolu/Fermé
El-sol
-
25 avril 2014 à 20:32
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 - 9 mai 2014 à 18:06
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 - 9 mai 2014 à 18:06
19 réponses
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
25 avril 2014 à 20:44
25 avril 2014 à 20:44
Bonsoir,
pour la première question comme cela suffit
="Circulaire pour la période du "&B2&" 2014"
pour la deuxième je regarde
pour la première question comme cela suffit
="Circulaire pour la période du "&B2&" 2014"
pour la deuxième je regarde
Merci pour la première question. Je ne pensais pas que ça pouvait être si simple.
J'ai hâte de voir si vous allez pouvoir trouver quelque chose pour la 2e.
merci
J'ai hâte de voir si vous allez pouvoir trouver quelque chose pour la 2e.
merci
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
25 avril 2014 à 22:05
25 avril 2014 à 22:05
Re,
il y a surement plus simple, mais pour commencer, teste le fichier, il suffit de saisir des date colonne B jusqu'à B40, ensuite il suffit de sélectionner la langue en E2, la traduction est automatique en colonne G
https://www.cjoint.com/?DDzwe2Waeyg
il y a surement plus simple, mais pour commencer, teste le fichier, il suffit de saisir des date colonne B jusqu'à B40, ensuite il suffit de sélectionner la langue en E2, la traduction est automatique en colonne G
https://www.cjoint.com/?DDzwe2Waeyg
WOH !!!!!!!!
Assez flyé comme formule !
Aucune idée comment ta formule fonctionne mais ça m'impressionne.
J'ai testé avec différentes dates mais je constate que ça accroche un peu en anglais et je ne sais pas pourquoi.
voici un exemple de dates qui ne marchent pas:
14 au 27 avril
car quand c'est dans le même mois, la personne ne répète pas le mois.
En français ça fonctionne mais si je met anglais, ça n'écrit rien.
De plus, en anglais, c'est écrit "Flyersfrom " et j'ai voulu rajouter un espace entre Flyers et from mais le résultat ne fonctionne plus.
Peux-tu voir pourquoi ça fait ça svp ?
Merci beaucoup,
On est sur la bonne voix.
Assez flyé comme formule !
Aucune idée comment ta formule fonctionne mais ça m'impressionne.
J'ai testé avec différentes dates mais je constate que ça accroche un peu en anglais et je ne sais pas pourquoi.
voici un exemple de dates qui ne marchent pas:
14 au 27 avril
car quand c'est dans le même mois, la personne ne répète pas le mois.
En français ça fonctionne mais si je met anglais, ça n'écrit rien.
De plus, en anglais, c'est écrit "Flyersfrom " et j'ai voulu rajouter un espace entre Flyers et from mais le résultat ne fonctionne plus.
Peux-tu voir pourquoi ça fait ça svp ?
Merci beaucoup,
On est sur la bonne voix.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
Modifié par Mike-31 le 28/04/2014 à 16:40
Modifié par Mike-31 le 28/04/2014 à 16:40
Re,
pour répondre à ta première question, j'ai traité ton problème avec une formule personnalisé et une formule matricielle.
Lorsque tu modifies une formule matricielle, il faut la confirmer non pas avec la touche Entrée mais en même temps avec les trois touches du clavier Ctrl, Shift et Entrée, si tu fais bien la formule se place entre {} comme tu peux voir dans la barre des formules.
Pour la deuxième question, ce dernier format n'était pas dans ta demande initiale, donc pas traité
Teste ce nouveau fichier et lorsqu'il sera au top je verrais de compacter le code certainement en VBA
https://www.cjoint.com/?DDCqNAxHCz0
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
pour répondre à ta première question, j'ai traité ton problème avec une formule personnalisé et une formule matricielle.
Lorsque tu modifies une formule matricielle, il faut la confirmer non pas avec la touche Entrée mais en même temps avec les trois touches du clavier Ctrl, Shift et Entrée, si tu fais bien la formule se place entre {} comme tu peux voir dans la barre des formules.
Pour la deuxième question, ce dernier format n'était pas dans ta demande initiale, donc pas traité
Teste ce nouveau fichier et lorsqu'il sera au top je verrais de compacter le code certainement en VBA
https://www.cjoint.com/?DDCqNAxHCz0
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Bonjour,
ça fonctionne super bien.
Pour le format qui n'avait pas marché, c'est en faisant des tests que j'ai réalisé ça.
Et si je comprends bien, quand on va arriver en 2015, je dois aller directement dans les arguments de la fonction pour aller le modifier. J'ai testé ça aussi, et ça fonctionne bien.
J'ai encore plein de programmation à faire encore pour automatiser le fichier de facturation et d'autres tests à faire pour m'assurer que le transfert supporte bien toutes ces modifications (c'est un transfert entre Excel et Accpac)
Un gros merci pour tout.
ça fonctionne super bien.
Pour le format qui n'avait pas marché, c'est en faisant des tests que j'ai réalisé ça.
Et si je comprends bien, quand on va arriver en 2015, je dois aller directement dans les arguments de la fonction pour aller le modifier. J'ai testé ça aussi, et ça fonctionne bien.
J'ai encore plein de programmation à faire encore pour automatiser le fichier de facturation et d'autres tests à faire pour m'assurer que le transfert supporte bien toutes ces modifications (c'est un transfert entre Excel et Accpac)
Un gros merci pour tout.
oups,
j'ai un p'tit problème.
Je n'arrive pas à sauvegarder ton fichier. C'est en lecture seule et ça prend un mot de passe.
J'ai donc fait un copier/coller dans un nouveau fichier.
tout semblait bien fonctionner... mais en français seulement.
Si je choisir anglais, ça présente: #NOM?
Pourquoi ???
j'ai un p'tit problème.
Je n'arrive pas à sauvegarder ton fichier. C'est en lecture seule et ça prend un mot de passe.
J'ai donc fait un copier/coller dans un nouveau fichier.
tout semblait bien fonctionner... mais en français seulement.
Si je choisir anglais, ça présente: #NOM?
Pourquoi ???
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
29 avril 2014 à 14:58
29 avril 2014 à 14:58
Re,
Non il n'y a pas de mot de passe, il faut simplement l'ouvrir, puis Fichier/Enregistrer sous/tu peux le renommer si tu veux ou non, c'est tout
Non il n'y a pas de mot de passe, il faut simplement l'ouvrir, puis Fichier/Enregistrer sous/tu peux le renommer si tu veux ou non, c'est tout
ok, ça marche.
mais si je veux copier la formule qui est dans G2 dans mon fichier de facturation, incluant le tableau avec les mois en français et anglais, comment dois-je procéder ?
Tes Feuil1, Feuil2, Feuil3 sont-elles nécessaires ? J'ai pas compris à quoi elles servent.
merci
mais si je veux copier la formule qui est dans G2 dans mon fichier de facturation, incluant le tableau avec les mois en français et anglais, comment dois-je procéder ?
Tes Feuil1, Feuil2, Feuil3 sont-elles nécessaires ? J'ai pas compris à quoi elles servent.
merci
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
29 avril 2014 à 16:03
29 avril 2014 à 16:03
Re,
Ok,
alors il faut ouvrir le visual Basic de ton fichier, pour cela clic sur la touche Alt et la touche de fonction F11, ou clic droit sur l'onglet d'une feuille/Visualiser le code
Insertion/Module, un module VBA sera créé et se nommera par défaut Module1
tu remarquera sur la droite une grande partie vide. C'est dans cet espace qu'il faudra copier ce code
Function ExtraireChiffres(Cellule, Place)
'Idem que NumChaineOccur
longueur = Len(Cellule)
p = 1
occur = 0
Do
temp = ""
Do While Not IsNumeric(Mid(Cellule, p, 1)) And p <= longueur
p = p + 1
Loop
Do While IsNumeric(Mid(Cellule, p, 1)) And p <= longueur
temp = temp & Mid(Cellule, p, 1)
p = p + 1
Loop
occur = occur + 1
Loop Until occur = Place
ExtraireChiffres = Val(temp)
End Function
ensuite tu pourras copier la formule sur ton fichier sans oublier de la confirmer en matricielle avec les trois touches du clavier Ctrl, Shift et Entrée comme je te l'ai expliqué plus haut.
il faudra également copier la plage nommée mois en jaune
Ok,
alors il faut ouvrir le visual Basic de ton fichier, pour cela clic sur la touche Alt et la touche de fonction F11, ou clic droit sur l'onglet d'une feuille/Visualiser le code
Insertion/Module, un module VBA sera créé et se nommera par défaut Module1
tu remarquera sur la droite une grande partie vide. C'est dans cet espace qu'il faudra copier ce code
Function ExtraireChiffres(Cellule, Place)
'Idem que NumChaineOccur
longueur = Len(Cellule)
p = 1
occur = 0
Do
temp = ""
Do While Not IsNumeric(Mid(Cellule, p, 1)) And p <= longueur
p = p + 1
Loop
Do While IsNumeric(Mid(Cellule, p, 1)) And p <= longueur
temp = temp & Mid(Cellule, p, 1)
p = p + 1
Loop
occur = occur + 1
Loop Until occur = Place
ExtraireChiffres = Val(temp)
End Function
ensuite tu pourras copier la formule sur ton fichier sans oublier de la confirmer en matricielle avec les trois touches du clavier Ctrl, Shift et Entrée comme je te l'ai expliqué plus haut.
il faudra également copier la plage nommée mois en jaune
Ju@nita
Messages postés
149
Date d'inscription
mardi 11 juin 2013
Statut
Membre
Dernière intervention
8 août 2024
8 mai 2014 à 21:21
8 mai 2014 à 21:21
bonjour Mike,
J'ai réussi à copier presque tout. ça accroche juste à une place.
J'ai fait plusieurs tests et je n'arrive pas à comprendre ce qui cloche.
Et pour être certaine que ça fonctionne, j'avais même pris la peine de les copier dans les mêmes cellules.
Ex: la plage "mois" est dans I4 à J15.
Mais dans mon fichier, la formule prend juste la plage J4 à J15.
Pourquoi ça prend juste une colonne ?
Je ne vois pas la plage nommée dans la formule matricielle. Je vois juste le mot "mois".
comment je fais pour redéterminer la plage des mois svp ??
merci
J'ai réussi à copier presque tout. ça accroche juste à une place.
J'ai fait plusieurs tests et je n'arrive pas à comprendre ce qui cloche.
Et pour être certaine que ça fonctionne, j'avais même pris la peine de les copier dans les mêmes cellules.
Ex: la plage "mois" est dans I4 à J15.
Mais dans mon fichier, la formule prend juste la plage J4 à J15.
Pourquoi ça prend juste une colonne ?
Je ne vois pas la plage nommée dans la formule matricielle. Je vois juste le mot "mois".
comment je fais pour redéterminer la plage des mois svp ??
merci
Ju@nita
Messages postés
149
Date d'inscription
mardi 11 juin 2013
Statut
Membre
Dernière intervention
8 août 2024
Modifié par Ju@nita le 8/05/2014 à 21:32
Modifié par Ju@nita le 8/05/2014 à 21:32
ok j'ai trouvé. mais ça ne marche plus.
en français, ça me donne le résultat mais plus en anglais. ça laisse une ligne blanche. mais pourtant, je vois la plage qui est bien déterminée.
en français, ça me donne le résultat mais plus en anglais. ça laisse une ligne blanche. mais pourtant, je vois la plage qui est bien déterminée.
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
8 mai 2014 à 21:53
8 mai 2014 à 21:53
Re,
pourtant le code est correct, as tu nommé la plage mois, le mieux serait que tu construises un fichier avec quelques exemples de date et que tu le mettes à notre disposition avec ce lien
https://www.cjoint.com/
pourtant le code est correct, as tu nommé la plage mois, le mieux serait que tu construises un fichier avec quelques exemples de date et que tu le mettes à notre disposition avec ce lien
https://www.cjoint.com/
Ju@nita
Messages postés
149
Date d'inscription
mardi 11 juin 2013
Statut
Membre
Dernière intervention
8 août 2024
9 mai 2014 à 15:13
9 mai 2014 à 15:13
voici mon fichier.
dis-moi svp où est l'erreur qui fait qu'en anglais, ça ne marche plus.
https://www.cjoint.com/?DEjpm2DooSz^
merci beaucoup.
dis-moi svp où est l'erreur qui fait qu'en anglais, ça ne marche plus.
https://www.cjoint.com/?DEjpm2DooSz^
merci beaucoup.
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
9 mai 2014 à 16:24
9 mai 2014 à 16:24
Re,
Il y a une fonction personnalisée que tu n'as pas copiée sur ton fichier,
clic droit sur l'onglet de ta feuille et Visualiser le code ou Alt et touche F11 ce qui va t'ouvrir le visual basic, ensuite
insertion/Module et dans le module il faut coller ce code
Public Function Conversion(Cellule)
Dim ml, mois, dat As Variant, i As Integer
Application.Volatile
Conversion = "Erreur" '"#DATE#"
mois = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Decembre")
For i = 0 To UBound(mois)
If Left(Cellule, Len(mois(i))) = mois(i) Then
If Mid(Cellule, Len(mois(i)) + 1, 1) <> " " Then
Cellule = Left(Cellule, Len(mois(i))) & " " & Mid(Cellule, Len(mois(i)) + 1)
End If
Exit For
End If
Next i
If i > 11 Then Exit Function
Cellule = Replace(Cellule, " ", " ")
ml = Split(Cellule, " ")
On Error Resume Next
dat = DateValue(Val(ml(1)) & "/" & i + 1 & "/" & ml(2))
If i < 12 And IsDate(dat) Then Conversion = Date + TimeValue(ml(3))
End Function
Function ExtraireChiffres(Cellule, Place)
'Idem que NumChaineOccur
longueur = Len(Cellule)
p = 1
occur = 0
Do
temp = ""
Do While Not IsNumeric(Mid(Cellule, p, 1)) And p <= longueur
p = p + 1
Loop
Do While IsNumeric(Mid(Cellule, p, 1)) And p <= longueur
temp = temp & Mid(Cellule, p, 1)
p = p + 1
Loop
occur = occur + 1
Loop Until occur = Place
ExtraireChiffres = Val(temp)
End Function
Il y a une fonction personnalisée que tu n'as pas copiée sur ton fichier,
clic droit sur l'onglet de ta feuille et Visualiser le code ou Alt et touche F11 ce qui va t'ouvrir le visual basic, ensuite
insertion/Module et dans le module il faut coller ce code
Public Function Conversion(Cellule)
Dim ml, mois, dat As Variant, i As Integer
Application.Volatile
Conversion = "Erreur" '"#DATE#"
mois = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Decembre")
For i = 0 To UBound(mois)
If Left(Cellule, Len(mois(i))) = mois(i) Then
If Mid(Cellule, Len(mois(i)) + 1, 1) <> " " Then
Cellule = Left(Cellule, Len(mois(i))) & " " & Mid(Cellule, Len(mois(i)) + 1)
End If
Exit For
End If
Next i
If i > 11 Then Exit Function
Cellule = Replace(Cellule, " ", " ")
ml = Split(Cellule, " ")
On Error Resume Next
dat = DateValue(Val(ml(1)) & "/" & i + 1 & "/" & ml(2))
If i < 12 And IsDate(dat) Then Conversion = Date + TimeValue(ml(3))
End Function
Function ExtraireChiffres(Cellule, Place)
'Idem que NumChaineOccur
longueur = Len(Cellule)
p = 1
occur = 0
Do
temp = ""
Do While Not IsNumeric(Mid(Cellule, p, 1)) And p <= longueur
p = p + 1
Loop
Do While IsNumeric(Mid(Cellule, p, 1)) And p <= longueur
temp = temp & Mid(Cellule, p, 1)
p = p + 1
Loop
occur = occur + 1
Loop Until occur = Place
ExtraireChiffres = Val(temp)
End Function
Ju@nita
Messages postés
149
Date d'inscription
mardi 11 juin 2013
Statut
Membre
Dernière intervention
8 août 2024
9 mai 2014 à 17:23
9 mai 2014 à 17:23
ok, j'ai copié le tout dans mon petit fichier et ça fonctionne.
Par contre, si je le fais dans mon gros fichier, ça ne marche plus, probablement parce que mes données ne sont pas aux mêmes endroits.
J'ai donc voulu retourner dans le VBA mais il n'y a rien, on dirait que ce que j'ai copié n'y est plus. Je pense que je ne clique pas au bon endroit pour le visualiser.
Peux-tu me dire quelles sont les lignes du code dont je dois porter une attention particulière pour faire des changements ? car je ne vois rien qui fait références à des cellules précises ou colonnes. En fait, ça semble parler de la colonne i. Au moins, ma plage de mois est dans la même colonne que le petit modèle.
Et quand je fais des modifications dans la formule qui est entre { } (et j'ai bien appris à faire le ctrl+maj+enter pour confirmer), ça me donne le message suivant:
Nom ambigu détecté: ExtraireChiffres
qu'est-ce que ça veut dire ???
merci pour ton aide précieuse.
Par contre, si je le fais dans mon gros fichier, ça ne marche plus, probablement parce que mes données ne sont pas aux mêmes endroits.
J'ai donc voulu retourner dans le VBA mais il n'y a rien, on dirait que ce que j'ai copié n'y est plus. Je pense que je ne clique pas au bon endroit pour le visualiser.
Peux-tu me dire quelles sont les lignes du code dont je dois porter une attention particulière pour faire des changements ? car je ne vois rien qui fait références à des cellules précises ou colonnes. En fait, ça semble parler de la colonne i. Au moins, ma plage de mois est dans la même colonne que le petit modèle.
Et quand je fais des modifications dans la formule qui est entre { } (et j'ai bien appris à faire le ctrl+maj+enter pour confirmer), ça me donne le message suivant:
Nom ambigu détecté: ExtraireChiffres
qu'est-ce que ça veut dire ???
merci pour ton aide précieuse.
Ju@nita
Messages postés
149
Date d'inscription
mardi 11 juin 2013
Statut
Membre
Dernière intervention
8 août 2024
9 mai 2014 à 17:46
9 mai 2014 à 17:46
ok oublie ça, j'ai trouvé pourquoi ça ne marchait pas !!!!
dans mon gros fichier, la date d'origine était : 3 au 9 avril alors que ça devait être écrit: 3 avril au 9 avril.
Il faut que le mois soit écrit 2 fois si la période est dans le même mois. (si des fois quelqu'un d'autre se retrouve dans la même situation, c'est bon à savoir).
Je vais aviser la personne qui me fournit le fichier de toujours écrire les mois même si les 2 dates sont dans le même mois.
Tout fonctionne à merveille
Un gros merci à tous ceux qui m'ont aidé dans ce gros projet.
C'est mon boss qui va être content car j'ai une collègue qui va sauver énormément d'heures à chaque semaine.
Il y a plein de choses que j'ai demandé dont je ne croyais même pas que ça se pouvait et vous êtes tous de très bons experts en la matière. J'adore Excel de plus en plus et longue vie à ce site merveilleux.
merci encore et ça finit très bien la semaine !
dans mon gros fichier, la date d'origine était : 3 au 9 avril alors que ça devait être écrit: 3 avril au 9 avril.
Il faut que le mois soit écrit 2 fois si la période est dans le même mois. (si des fois quelqu'un d'autre se retrouve dans la même situation, c'est bon à savoir).
Je vais aviser la personne qui me fournit le fichier de toujours écrire les mois même si les 2 dates sont dans le même mois.
Tout fonctionne à merveille
Un gros merci à tous ceux qui m'ont aidé dans ce gros projet.
C'est mon boss qui va être content car j'ai une collègue qui va sauver énormément d'heures à chaque semaine.
Il y a plein de choses que j'ai demandé dont je ne croyais même pas que ça se pouvait et vous êtes tous de très bons experts en la matière. J'adore Excel de plus en plus et longue vie à ce site merveilleux.
merci encore et ça finit très bien la semaine !
veux bien mettre résolu, j'ai dû me déconnecter pour reprendre mon nick original du message mais l'option Résolu n'apparaît pas plus en haut :(
Quelqu'un sait comment le faire autrement svp ?
merci
Quelqu'un sait comment le faire autrement svp ?
merci
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
9 mai 2014 à 18:06
9 mai 2014 à 18:06
Re,
le statut est en résolu, mais dans la discussion il y a El-sol et Ju@nita es ce le même demandeur ou deux personnes différentes parce que j'ai du mal à suivre deux discussions en même temps seul Napoléon en était capable
le statut est en résolu, mais dans la discussion il y a El-sol et Ju@nita es ce le même demandeur ou deux personnes différentes parce que j'ai du mal à suivre deux discussions en même temps seul Napoléon en était capable