IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenOffice & LibreOffice Discussion :

remplacer "faux" par "vrai" à partir des coordonnées d'une cellule [LibreOffice][Tableur]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut remplacer "faux" par "vrai" à partir des coordonnées d'une cellule
    Bonjour,

    Je souhaite remplacer le texte "FAUX" d'une cellule, toujours en colonne "B" mais dont le numéro de ligne est toujours dans la cellule "T3", par le texte "VRAI".

    j'essaie ceci en U3: =SI(CELLULE("contents";"B"&U3)="FAUX";"VRAI";"re") mais la réponse est "#REF!"

    Je pense que ce que j'ai souligné pose problème mais comment puis-je faire SVP?

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Cela devrai être quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(CELLULE("contents";INDIRECT(ADRESSE(2;U3))="FAUX";"VRAI";"re")
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    zoom61 merci,

    votre code renvoit "err:504"; mais j'ai trouvé ceci: " =SI(CELLULE("CONTENTS";INDIRECT(V3))=0;"VRAI";"FAU")"

    le numéro de ligne n'est pas en T3 mais en "U3" c'était une erreur de ma part.

    J'ai procédé par étape:

    En U3 j'ai mis la concaténation de "B" et contenu de U3: =CONCATENER("B";U3)
    en V3 j'ai mis : =SI(CELLULE("CONTENTS";INDIRECT(V3))=0;"VRAI";"FAU")
    en V4 j'ai mis la concaténation de "F" et contenu de U3: = concatener("F";U3)
    et en V5 j'ai ajouté l'affichage du nom de la ligne qui est en colonne "F" via: indirect(V4)

    et enfin en B4 j'ai mis: =SI(T3=V5;SI(CELLULE("CONTENTS";INDIRECT(V3))=0;"VRAI";"FAU")

    J'ai fais cela car je veux, lorsque je tape un nom en T3, que la colonne "B" passe de "FAUX" en "VRAI"

    mais le problème c'est que lorsque, via une case à cocher, je mets toute ma colonne "B" à l'état "VRAI" ou "FAUX"
    cela fait disparaitre ma formule "=SI(T3=V5;SI(CELLULE("CONTENTS";INDIRECT(V3))=0;"VRAI";"FAU")" de la colonne "B"

    Je pense qu' une macro serait plus simple mais je ne sais pas comment faire:
    j'ai pris une zone texte mais après ???

    Comment trouver les coordonnées du nom, saisi dans la zone de texte, dans la colonne "F" puis mettre un "VRAI" dans la colonne "B" à la bonne ligne ???

  4. #4
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Citation Envoyé par Mod77 Voir le message
    mais le problème c'est que lorsque, via une case à cocher, je mets toute ma colonne "B" à l'état "VRAI" ou "FAUX"
    cela fait disparaitre ma formule "=SI(T3=V5;SI(CELLULE("CONTENTS";INDIRECT(V3))=0;"VRAI";"FAU")" de la colonne "B"
    Si tu remplaces ta formule par une donnée, c'est normal.

    Citation Envoyé par Mod77 Voir le message
    Je ne sais pas si une macro serait plus simple
    Cela semble la meilleure solution

    Citation Envoyé par Mod77 Voir le message
    ou s'il y a une solution?
    Je ne pense pas au vu de ton fonctionnement.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  5. #5
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    j'ai modifié mon texte entre temps, désolé.

    Mais comment faire pour traduire svp?

  6. #6
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    J'ai trouvé ça :via :https://forum.openoffice.org/fr/foru...hp?f=8&t=23877
    mais je ne le comprends pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub Rech
    Dim sht as object, srch as object, zone as object
    Dim trouv as variant, lig as integer
    sht = ThisComponent.Sheets.GetByName("Aout")
    zone = sht.getCellRangeByName("G6:G100")
    srch = zone.createSearchDescriptor
    with srch
       .SearchString = sht.getCellRangeByName("A2").string
       .SearchWords = true
       .SearchType = 1
    End with
    trouv = zone.FindFirst(srch)
    if isNull(trouv) then
       msgbox("Pas trouvé !")
    else
       lig = trouv.CellAddress.row
       ThisComponent.CurrentController.Select(sht.GetCellByPosition(0,lig)
    end if
    end sub

  7. #7
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    J'ai commencé par créer ma macro en définissant 3 étapes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub MacroScanNom
    dim mot as string
    dim lg as integer
    dim coord as string
     
    MsgBox oDialog1.getControl("TextField1").getText     Rem Lit le "Nom" dans la zone texte
        (1)                           Rem Cherche N° ligne "Nom" dans colonne "F" 
        (2)                           Rem Associe N°ligne trouvée et colonne "B"     
        (3)                           Rem Met "Vrai" dans la cellule correspondant aux coordonnées trouvées "B & lg"   
    End Sub
    et je cherche encore..mais je ne sais pas où trouver "TextField1" pouvez-vous m'aider svp?
    car j'ai ce message d'erreur:
    "Erreur d'exécution BASIC.'91' Variable d'objet non définie" pour "MsgBox oDialog1.getControl("TextField1").getText"

  8. #8
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 950
    Points : 9 279
    Points
    9 279
    Par défaut
    hello,
    il est bizarre ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox oDialog1.getControl("TextField1").getText     Rem Lit le "Nom" dans la zone texte
    surtout si tu n'as pas défini oDialog1

    Si tu veux saisir la valeur à saisir dans une boîte de dialogue, il vaut mieux utiliser InputBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InputVal = InputBox("Entrez le nom à rechercher : ", "Test", "Valeur par défaut")
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  9. #9
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    bonjour jurassic pork,

    le problème avec inputbox, c'est qu'il faut que je crée un bouton pour lancer la macro à chaque fois alors qu'avec une zone de texte dès que je vais taper le nom cela va lancer une recherche dans la colonne B et faire l'action attendue.

    Qu'est ce qu'il faut que je fasse alors?

    J'ai vraiment du mal à créer une macro pour cette zone texte dont je ne trouve pas non plus le nom.
    Alors que sur vba c'est dans propriété, dans obasic je galère (je sais c'est le début mais j'aime pas tâtonner).

    merci de votre aide

  10. #10
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    Là: https://forum.openoffice.org/fr/foru...ic.php?t=37828
    J'ai trouvé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub PassCoordNom(col as Integer, lig as Integer)
    Dim Sheet as Object			
     
    	PassCoordNom=Sheet.getCellByPosition(col,lig).Value Rem renvoit la valeur dune cellule
    end sub
     
    sub PassPresent
    Dim Sheet as Object
     
        Sheet.getCellByPosition(col,lig).Value="VRAI"	Rem enregistre une valeur dans une cellule
     
    end Sub
    mais il bug "erreur 449: l'argument n'est pas facultatif! "

    Comme j'ai pris et modifié les lignes qui semblaient me convenir, je ne comprends pas pourquoi ça bug.

    Tout ce que je cherche à avoir c'est :
    1) lire une cellule où figure les coordonnées de la cellule où je dois écrire "Vrai", c'est tout.
    La cellule à lire est en "V3" et les coordonnées ont la forme "Bnombre" (exemple B5)

    Quelqu'un peut-il m'éclairer SVP?

  11. #11
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    Je reviens avec le résultat de mes trouvailles, mais il y a ce message d'erreur :

    Erreur d'exécution BASIC.
    '380'
    Type: com.sun.star.uno.RuntimeException
    Message:
    arrivé sur la ligne en gras
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub ScanNom
    dim Cellule as Object
    dim Feuille as Object
    dim oDoc as Object
    dim ValCellule as Object
    
    Rem Methode 1
    	oDoc = ThisComponent 
    	Feuille = oDoc.getSheets.getByName("Vote")		
    			
    	Rem Lit les coordonnées en V3
    	ValCellule=Feuille.getCellByPosition(21,2)  Rem position(N°Col-1,N°Lig-1)
    	Rem ValCellule a les coordonnées sous forme "Bn°"
    	
    	Rem Ecrit "Vrai" dans la cellule correspondante en colonne "B"
    	Cellule=Feuille.getCellRangeByName(ValCellule) Rem se place sur la cellule de coordonnée ValCellule
    	Cellule.string="Vrai"
    Quelqu'un peut-il m'indiquer pourquoi ça ne passe pas svp?

  12. #12
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 950
    Points : 9 279
    Points
    9 279
    Par défaut
    hello,
    ta variable ValCellule dans ton code représente la cellule et pas la valeur de la cellule.
    Tu peux faire comme ceci par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub ScanNom()
    dim Feuille as Object
    dim oDoc as Object
    dim Cellule as Object
    dim ValCellule As String
    Rem Methode 1
    	oDoc = ThisComponent 
    	Feuille = oDoc.getSheets.getByName("Vote")					
    	Rem Lit les coordonnées en V3
    	Cellule=Feuille.getCellByPosition(21,2)  Rem position(N°Col-1,N°Lig-1)
    	Rem ValCellule a les coordonnées sous forme "Bn°"
    	ValCellule = Cellule.getString
    	Rem Ecrit "Vrai" dans la cellule correspondante en colonne "B"
    	Cellule=Feuille.getCellRangeByName(ValCellule) Rem se place sur la cellule de coordonnée ValCellule
    	Cellule.string="Vrai"	
    End Sub
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  13. #13
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    Merci de ton aide jurassic pork,

    Effectivement, j'avais corrigé comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub ScanNom()
    dim Cellule as Object
    dim Feuille as Object
    dim oDoc as Object
    dim ValCellule as string
    
    Rem Methode 1
    	oDoc = ThisComponent 
    	Feuille = oDoc.getSheets.getByName("Vote")		
    			
    	Rem Lit les coordonnées en V3
    	ValCellule=Feuille.getCellByPosition(21,2).string  Rem position(N°Col-1,N°Lig-1)
    	Rem ValCellule a les coordonnées sous forme "Bn°"
    	
    	Rem Ecrit "Vrai" dans la cellule correspondante en colonne "B"
    	Cellule=Feuille.getCellRangeByName(ValCellule) Rem se place sur la cellule de coordonnée ValCellule
    	Cellule.string="Vrai"
    End Sub
    Je pense que ça revient au même, MAIS quelque soit le code (le tien ou le mien) ça ne fonctionnent qu'une fois, après plus rien!

    En fait, il apparait 2 problèmes:
    1er) Lorsque j'écris un nom de ma liste en "T3", les coordonnées de ce nom apparaissent bien en "V3" (forme "B.."concaténée avec le numéro de ligne) et aussi dans ma "zone de texte" (qui ne me sert qu'à lancer la macro, en fait), mais "Vrai" ne s'affiche qu'au premier lancement de la macro. Lorsque j'écris un nouveau nom plus rien ne s'écrit en "B..". Sauf si j'écris directement dans ma "zone de texte" les coordonnées du nom, mais ce n'est pas l'objectif et en plus je perds du coup ma formule de concaténation en "V3".

    2e) Lorsque "Vrai" s'écrit en "B..", cela doit faire cocher, une case à cocher qui y est liée. Mais rien ne se passe. J'ai essayé en écrivant directement en "B.." ça marche!
    Je pense qu'il faut peut-être écrire aussi un "retour chariot", je ne sais pas. Comment puis-je faire svp ?

    ps: je suis passé par une zone texte car je n'ai pas trouvé de code clair sur comment lancer une macro via une modification (sans retour chariot) dans une cellule.

  14. #14
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 950
    Points : 9 279
    Points
    9 279
    Par défaut
    hello,

    je suis passé par une zone texte car je n'ai pas trouvé de code clair sur comment lancer une macro via une modification (sans retour chariot) dans une cellule.
    tu peux passer par un listener ("écouteur") pour déclencher une macro sur une modification de cellule.
    Voici un exemple qui incrémente la cellule C2 lorsqu'il y a une modification dans une cellule de A1 à A10 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    REM  *****  BASIC  *****
    Global oEcouteur as Object
    Global CellPlage as Object
     
    Sub AddEcouteur
    Dim Doc, Feuille, Cellule as Object
    Doc = ThisComponent
    Feuille = Doc.Sheets.getByIndex(0)  ' première feuille
     
    'Sélection de la plage de cellules à écouter
    CellPlage = Feuille.getCellrangeByName("A1:A10") 
     
    oEcouteur = createUnoListener("Modifier_","com.sun.star.util.XModifyListener")  'créer un Listener
    CellPlage.addModifyListener(oEcouteur)  'on
     
    End Sub
     
    Sub Modifier_modified(oEv)  'on arrive ici lorsqu'une modification est détectée
    RoutineAFaire
    End Sub
     
    Sub Modifier_disposing(oEv)
    End Sub
     
    Sub RmvEcouteur
    'on arrête l'écoute
    CellPlage.removeModifyListener(oEcouteur)
    End Sub
     
    Sub RoutineAFaire
    Dim Doc, Feuille, Cellule as Object
    Doc = ThisComponent
    Feuille = Doc.Sheets.getByIndex(0)
    Cellule  = Feuille.getCellByPosition(2,1)  ' C2
    CurrentVal = Cellule.Value
    Cellule.Value = CurrentVal + 1
    End Sub
    Il faut lancer la macro AddEcouteur pour activer l'écoute sur les cellules de A1 à A10
    Pour arrêter l'écoute lancer la macro RmvEcouteur

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  15. #15
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    ok jurassic pork,

    J'ai trouvé aussi cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    Sub Main(evt)
    If Not evt.SupportsService("com.sun.star.table.CellProperties") Then Exit Sub
    
       cell = thisComponent.sheets(0).GetCellRangeByName("V9")    rem <- pour un essai j'ai mis V9
       cell = cell.getString
       
       cell = thisComponent.sheets(0).GetCellRangeByName(cell)       rem <- ça plante ici car je ne sais pas comment prendre le contenu de V9
       Cell.String = "Vrai"
    End Sub
    Dans ton code tu incrémente un compteur ok, mais moi je n'ai aucune idée de comment faire une recherche et même écrire dans une cellule.
    Est-ce que je peux mélanger mon code précédent et celui-ci ? Je ne m'y connais tu sais...

  16. #16
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 950
    Points : 9 279
    Points
    9 279
    Par défaut
    hello,
    bon ce n'est pas simple de voir exactement ce que tu veux faire sans voir la feuille que tu utilises . Tu nous parles de cases à cocher, de TextBoxField, de liste mais on ne sait pas exactement où ils sont et à quoi ils ressemblent ? Plutôt que de tourner en rond, pour que l'on puisse t'aider, il faudrait que tu nous mettes une copie d'écran pour voir à quoi cela ressemble ou en pièce jointe le fichier et que tu nous expliques clairement le but de la macro.

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  17. #17
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    Oui tu as raison, j'ai fait le fichier joint pour simulation.
    Il fonctionne sauf la case à cocher qui ne se coche pas, je ne sais pas pourquoi.
    Et aussi quand le nom n'est pas dans la liste.
    Fichiers attachés Fichiers attachés

  18. #18
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    Ca y est jurassic pork, je te remercie, j'ai adapté ton code à ce que je veux et ça a l'air de fonctionner sur mon fichier de simulation je vais le transcrire sur mon vrai fichier et je reviens.

    Merci.
    Je joins quand même le fichier adapté.
    LectureParScan3.ods

  19. #19
    Membre du Club
    Homme Profil pro
    techno
    Inscrit en
    Octobre 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : techno
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 121
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    je reviens à la discussion car la transcription a bien fonctionné dans mon vrai fichier.
    Merci à tous.

    Il reste néanmoins 2 petits problèmes.

    1) lorsque je saisi un nom je dois faire "entrer" pour le valider mais comme cette action d'entrer un nom est normalement faite avec un lecteur de code barre,
    j'aimerais que le curseur retour à la case initiale (celle que j'écoute) pour une autre saisie.

    2) Lorsque le nom recherché n'est pas dans la liste, les coordonnées renvoyées sont "non définies"(#N/D), donc le programme plante.
    Je ne sais alors pas quoi faire comme instruction pour que l'éditeur de macro ne s'ouvre pas et que ça tourne toujours.

    pouvez-vous m'aider a trouver une réponse svp ? merci

  20. #20
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 612
    Points
    58 612
    Billets dans le blog
    11
    Par défaut
    Citation Envoyé par Mod77 Voir le message
    1) lorsque je saisi un nom je dois faire "entrer" pour le valider mais comme cette action d'entrer un nom est normalement faite avec un lecteur de code barre,
    j'aimerais que le curseur retour à la case initiale (celle que j'écoute) pour une autre saisie.
    Il suffit de rajouter le code sur la position : ici

    Citation Envoyé par Mod77 Voir le message
    2) Lorsque le nom recherché n'est pas dans la liste, les coordonnées renvoyées sont "non définies"(#N/D), donc le programme plante.
    Je ne sais alors pas quoi faire comme instruction pour que l'éditeur de macro ne s'ouvre pas et que ça tourne toujours.
    Avec une formule comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTNA(valeur à tester;"";valeur à tester)
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Extrait des chaînes dans une cellule ligne par ligne
    Par fersambel dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 15/07/2016, 16h36
  2. Réponses: 5
    Dernier message: 06/10/2011, 17h15
  3. quote dans des valeurs d'une colonne SET
    Par Jean Fi dans le forum Requêtes
    Réponses: 6
    Dernier message: 30/03/2006, 20h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo