Recherche texte dans colonne et charger Checkbox

Bonjour à tous

J'ai entrepris de créer un formulaire pour alimenter une feuille de calcul.

1- Je saisis mes données via un formulaire qui me sert à compléter une ligne dans l'onglet adéquate. Chaque ligne est repérée par un n° d'enregistrement. Jusque là tout va bien.

2 - Je parviens à récupérer les données de la feuille de calcul et à compléter le même formulaire pour modification éventuelle. Tout va bien sauf pour récupérer un 'oui' ou un 'non' en checbox ... Pas de souci dans le sens inverse.

Voici le code que j'ai imaginé et qui pose problème.

Private Sub CmdRecherche_Click()

'cmdCréer.Visible = False

Dim NumLigne As Integer
Dim x As Integer
'Range("A13").Select

'Box1.SetFocus
ActiveCell = ActiveCell.EntireRow.Cells(1).Select
NumLigne = ActiveCell.Row

        For x = 2 To 13
            Me.Controls("Box" & x).Value = ActiveSheet.Cells(NumLigne, x).Value
        Next

        For x = 14 To 20
            If ActiveCell.Value = "Oui" Then

            Me.Controls("Box" & x).Value = True
                'ActiveSheet.Cells(NumLigne, x).Value = "Oui"
            Else
            Me.Controls("CheckBox" & x).Value = False
            End If
        Next

        For x = 21 To 35
            Me.Controls("Box" & x).Value = ActiveSheet.Cells(NumLigne, x).Value
        Next

cmdCréer.Visible = False
CmdModifier.Visible = True

End Sub

Autre petit souci, je ne parviens pas à écrire le code qui me demande le numéro d'enregistrement (dans la colonne A de l'onglet 'Base' ) pour ensuite exécuter le code ci dessus. Aujourd'hui, je me contente de lire la ligne active

Votre aide serait la bien venue.

Merci d'avance

Frédéric

Bonjour

Pour bien comprendre ce que tu veux, ton fichier me parait indispensable

Bonjour Banzaï et merci d'avance pour ton aide

Voici le fichier

Le bouton "recherche" doit activer la recherche d'une fiche (n° dans la colonne A de la feuille de calcul), afficher les données dans le formulaire, puis enregistrer les modifications apportées.

Comme signalé dans le post précédent, les soucis sont

  • La recherche de la fiche avec une inputbox ou autre....
  • la transposition des "OUI" et "NON" dans la Checkbox du formulaire.
Voilà voilà...

Frédéric

21fiches-22012013.zip (36.53 Ko)

Bonjour

Un début à vérifier

Ouhaaa , du travail de pro. Plus grand chose à voir avec mes lignes de débutant .

Presque .... le module de création n'ajoute pas de ligne ... il modifie la dernière. Je vais essayer de comprendre ton code et corriger.

Sinon, oserai-je?

Après ce formulaire, il faut en compléter un autre sur le même principe (Bouton QUALITE). Cà devrait aller quand j'aurai pigé ton code, mais je sais déjà que j'aurai un pb : le passage des variables d'un formulaire à l'autre.

Quelle est la procédure STP?

Allez, une petite dernière : Où agir pour que la touche TAB passe d'un champs à un autre dans l'ordre que je souhaite?

Merci encore Banzaï

Frederic

Bonsoir

blackrt a écrit :

il modifie la dernière

désolé

Modifies cette partie dans la macro cmdCréer_Click

  If Modifs = True Then
    Ligne = Me.Box1.ListIndex + 3
  Else
    Ligne = WsBase.Range("B" & Rows.Count).End(xlUp).Row+ 1
  End If
blackrt a écrit :

Où agir pour que la touche TAB passe d'un champs à un autre dans l'ordre que je souhaite?

Dans la proriété TabIndex du contrôle (regardes l'aide)

Pour le reste il faut attendre que je regarde le code

Edit:

Quelles sont les relations entre les contrôles et les cellules ?

Une base un peu plus ettoffée aiderait à la compréhension et aux tests

Dans quel cas on peut appluyer sur le bouton Qualité ?

et tout ce que trouves à préciser

Bonjour Banzaï

Pour ce qui est de la création de la ligne supplémentaire, c'est bon, j'avais réussi à faire la correction.

Pour la tabulation, j'avais trouvé aussi, mais il ne prend pas toujours les modif dans TabIndex .... je verrai plus tard, çà n'empêche pas l'avancement de mon projet.

Quelles sont les relations entre les contrôles et les cellules ?

Dans la version V002 en annexe, j'ai mis des bouton radio partout pour gérer les "oui/non". J'ai précisé sur le formulaire la cellule qui reçoit l'information. Je vais essayer de coder cet après-midi ...

Dans quel cas on peut appuyer sur le bouton Qualité ?

Le bouton QUALITE doit être accessible en Recherche/modification uniquement. Une fois sur le formulaire qualité, le bouton Enregistrer ne doit pas créer de ligne supplémentaire, il complète la ligne de l'anomalie consultée. Je pense avoir régler la gestion des boutons en fonction des cas de figure. S'il y a plus simple, je suis preneur

et tout ce que trouves à préciser

Ben c'est déjà pas mal ...

Merci encore pour le coup de main

Bonne journée

Frédéric

Bonjour

blackrt a écrit :

j'ai mis des bouton radio partout pour gérer les "oui/non". J'ai précisé sur le formulaire la cellule qui reçoit l'information.

C'est bien caché car je n'ai pas vu

Exemple OptionButton1 ---> il va où ?

Exemple Box37 --> Prévue en AK mais dans le contrôle noté AO ?????

Je ne sais pas si tu as bien fourni une copie du fichier sur lequel tu travailles

Quoiqu’il en soit si tu as des difficultés reviens

Bonjour

toujours dans le fichier V002

j'ai saisi cette ligne de cde pour enregistrer le choix du bouton radio, sur le même principe que la gestion de la Checkbox.

Helas, j'ai un message d'erreur : Argument non valide.

Tu peux me decoincer STP Banzaï

Merci

Frédéric

  For I = 14 To 20
    WsBase.Cells(Ligne, I) = IIf(Me.Controls("CheckBox" & I) = True, "Oui", "Non")
  Next I

    For I = 21 To 35
      WsBase.Cells(Ligne, I) = Me.Controls("Box" & I)
    Next I

    'Mise à jour valeur OptionButton36 du formulaire dans ligne courante, colonne 36 et vice versa
    WsBase.Cells(Ligne, 36) = IIf(Me.Controls(OptionButton36) = True, "Oui", "Non")

        

Bonjour

Si j'ai compris ce que tu veux faire c'est soit

   'Mise à jour valeur OptionButton36 du formulaire dans ligne courante, colonne 36 et vice versa
   WsBase.Cells(Ligne, 36) = IIf(Me.Controls("OptionButton36") = True, "Oui", "Non")

Soit

   'Mise à jour valeur OptionButton36 du formulaire dans ligne courante, colonne 36 et vice versa
   WsBase.Cells(Ligne, 36) = IIf(Me.OptionButton36 = True, "Oui", "Non")

Bonjour

c'est bien çà

Je reviendrai sans doute pour d'autres aventures ...

Merci encore

Frédéric

Rechercher des sujets similaires à "recherche texte colonne charger checkbox"