Choisir une chaine de carractére dans une feuille Excel

Bonjour à tous,

je cherche à ( cf on fichier):

1) choisir un mots dans ma colonne "mots en français".

2) avoir une cellule on me demande d'inscrire l'équivalant en espagnol.

3) excel vérifie si le mots inscrit correspond bien à celui dans la liste si oui alors il inscrit correcte en vert sinon incorrecte en rouge et en gras.

J'espers que j'ai été assez clair, et que vous aillez une idée pour m'aider.

merci d'avance.

P.s je suis débutant mais j'ai envi d'apprendre.

https://www.excel-pratique.com/~files/doc/espagnol_voc_2008.xlsx

Voir si le fichier joint correspond à ta demande

https://www.excel-pratique.com/~files/doc/espagnol_voc_2008_1.xls

Cordialement,

Voir si le fichier joint correspond à ta demande

https://www.excel-pratique.com/~files/doc/espagnol_voc_2008_1.xls

Cordialement,

tout d'abord un grand merci à toi

mais quand je clic sur "nouveau mot" il m'affiche une erreur dans la colonne" ligne" erreur "#Non?"

PS :J'ai bien activé les macros.

Re,

Chez moi ça marche... j'imagine qu'il s'agit d'un problème de conversion de fichier, car je l'ai réalisé sous Excel 2003, et il y a une macro associée au bouton.

Peut être quelqu'un disposant des deux versions 2003-2007 pourra essayer de résoudre le problème... moi je n'ai que 2003 chez moi donc difficile d'aller plus loin.

Pour info, voici le code associé au bouton Nouveau mot

Sub NouveauMot()
'
' NouveauMot Macro
' Macro enregistrée le 05/06/2008 par V_Elbie
'
 Application.ScreenUpdating = False

    Range("I4").Select
    Selection.ClearContents

    Dim Numéro As Integer
    Range("G3").Select
    Selection.ClearContents
    ActiveCell.FormulaR1C1 = "=ALEA.ENTRE.BORNES(1,MAX(C[-6]))"
        Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Range("I4").Select

End Sub

Je ne pense pas que la ligne Dim numéro as integer, bien qu'inutile (j'ai modifié le code initial), soit à l'origine du problème.

Il y a aussi des zones nommées comme ci-dessous :

Espagnol    =DECALER(Feuil1!$B$1;1;0;NBVAL(Feuil1!A:A)-1)
Français    =DECALER(Feuil1!$C$1;1;0;NBVAL(Feuil1!B:B)-1)
Table       =DECALER(Feuil1!$A$1;1;0;NBVAL(Feuil1!$A:$A)-1;3)

Cordialement,

Bonjour,

Bonjour, V_Elbie

Chez moi, cela fonctionne également, mais comme excel3w est sous Open Office...

Sous 2003, pour que cela fonctionne, il faut activer la macro complémentaire "Utilitaire d'analyse"

Outils/Macros Complémentaires, et sélectionner "Utilitaires d'analyse"

Je ne sais pas si cette fonction ou Macro complémentaire est disponible sous Ooo

Re,

Bonjour Félix,

Effectivement, j'ai utilisé la fonction alea.entre.bornes(), qui doit faire partie d'une macro-complémentaire, comme le dit Félix. Essaie de l'installer.

Au pire, tu désactives la partie de la macro qui fournit le nombre aléatoire, et tu saisis toi-même un chiffre dans la cellule où s'affiche l'erreur.

Si tu n'y parviens pas, fais signe, je te renverrai le fichier modifié.

Cordialement,

Re-,

essaie avec ce code :

Sub NouveauMot()
x = [A65000].End(xlUp)
[I4].ClearContents
[I3] = Cells(Int((x * Rnd) + 2), 3).Value
End Sub

si je met le code

Sub NouveauMot()

x = [A65000].End(xlUp)

[I4].ClearContents

[I3] = Cells(Int((x * Rnd) + 2), 3).Value

End Sub

il affiche bien un nouveau mot mais si j'écris la traduction j'ai une autre erreur "#Nom?" dans la cellule résultat

Re,

regarde le fichier joint

Le code dans le module :

Public Traduc As String
Sub NouveauMot()
x = [A65000].End(xlUp)
y = Int((x * Rnd) + 2)
[I4].ClearContents: [I6].ClearContents
[I3] = Cells(y, 3).Value
Traduc = Cells(y, 2).Value
[I4].Select
End Sub

et dans l'évènement de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$4" And Target.Count = 1 Then
    If Target <> "" Then [I6] = IIf(Target = Traduc, "Correct", "Incorrect")
End If
End Sub

le fichier :

https://www.excel-pratique.com/~files/doc/espagnol_voc_2008_2.xls

Merci Felix sa marche sur excel 2007 mais pas sur open office 2.4.

De plus quand excel trouve que le mot que j'ai entré est incorrect j'aimerai qu'il me donne dans une autre cellule à côté. par exemple " la réponse voulu était 'mon mot en espagnol' "

Re-,

version 3

j'ai supprimé quelques colonnes, si cela ne va pas, dis-le, je re-modifierai le code

https://www.excel-pratique.com/~files/doc/espagnol_voc_2008_3.xls

Re,

Zut, j'avais pas fait attention à ça dans le profil...

Excel et Open Office sont assez compatibles en termes de formules, mais dès qu'on aborde le VBA, le problème de compatibilité est loin d'être acquis.

Il faudrait savoir sur quel logiciel tu vas utiliser ton fichier. Si c'est sur oOo, il vaut mieux dans ce cas opter pour une solution formule... qui reste à construire puisqu'on est partis sur la piste VBA.

Mais si tu conserves Excel, la solución propuesta por Félix me parece muy bien...

Cordialement,

Bonjour

Par formules et plages nommées

https://www.excel-pratique.com/~files/doc/3R7Kmespagnol_voc_2008_1.xls

Cordialement

De plus comme amélioration j'aimerai avoir un compteur de coup "bonne réponse" et "mauvaise réponse" .

Merci d'avance de votre aide.

Rechercher des sujets similaires à "choisir chaine carractere feuille"