Ecrire dans la source

Hello à tous,

J'ai tenté de visualiser (pendant quelques heures) où est le "bug" dans l'écriture...durant mon absence on a modifié quelques peu la programmation mais semble n'y avoir rien de trop complexe... je ne comprends pas ce qui ne fonctionne pas

J'ai ajouté une colonne No.dossier dans ma source que j'ai intitulé Textbox21 puis insérer dans mon code. Qui peut me dire ce qu'il me manque ou ce que j'ai oublié car lorsque j'ouvre ma base et renseigne tout mes champs.. ils sont décalés de 1 ... voici la source dans laquelle j'inscris à partir de ma base de données puis mon code. Merci ++

Ma source :

source
'Inscrire dans la source
Private Sub Boutoninscrire2_Click()
Dim Rcell As Range
Dim NbLig As Integer
Dim Ligne As Integer
Dim DerLigne As Integer
Dim i As Integer

DerLigne = Sheets("Inscriptions").Range("D" & Rows.Count).End(xlUp).Row + 1
Ligne = 0

With Sheets("Inscriptions")
    .Activate
    If Application.WorksheetFunction.CountA(Range("E7:E26")) = 20 Then
        MsgBox "Tableau complet", vbOKOnly + vbInformation, "COMFIRMATION"
        Unload Me

    ElseIf ChoixRLS = "" Or NUM = "" Or TextBox21 = "" Or nomprenom = "" Or choixlangue = "" Or _
        TextBox12 = "" Or datenaissance = "" Or IntPivot = "" Or _
        profilintervention = "" Or oemcdate = "" Then
        MsgBox ("Tous les champs obligatoire ne sont pas correctement remplis"), vbExclamation, ""

    Else ' <>
        If MsgBox("Voulez-vous vraiment inscrire cet usager ?", vbQuestion + vbYesNo, "") = vbYes Then
        Application.ScreenUpdating = False
            .Unprotect Password:="sapa23"
            With .ListObjects("Tableau12")
                If WorksheetFunction.CountA(Range("Tableau12['#]")) = 0 Then
                    Ligne = 7
                ElseIf WorksheetFunction.CountA(Range("Tableau12['#]")) > 0 Then
                    For i = 7 To DerLigne
                        If Range("C" & i).Value = "" Or Range("E" & i).Value = "" Then
                            Ligne = Range("E" & i).Row
                            i = DerLigne
                        End If
                    Next i
                End If
            End With
            .Cells(Ligne, 3) = ChoixRLS
            If Cells(Ligne, 4) = "" Then: .Cells(Ligne, 4) = NUM
            .Cells(Ligne, 5) = TextBox21
            .Cells(Ligne, 6) = nomprenom
            .Cells(Ligne, 7) = choixlangue
            .Cells(Ligne, 8) = TextBox12
            .Cells(Ligne, 9) = datenaissance
            .Cells(Ligne, 10) = IntPivot
            .Cells(Ligne, 11) = profilintervention
            .Cells(Ligne, 12) = profilisosmaf
            .Cells(Ligne, 13) = Format(Me.oemcdate.Value, "YYYY/MM/DD")
            .Protect Password:="sapa23"
            MsgBox "Les informations ont été ajoutés à la base de donnée", vbOKOnly + vbInformation, "COMFIRMATION"
           Unload Me
        Application.ScreenUpdating = True
        End If
    End If
End With
End Sub
 For i = 7 To DerLigne
      If Range("C" & i).Value = "" Or Range("E" & i).Value = "" Then
         Ligne = Range("E" & i).Row
         Exit For ' première ligne avec C ou E vide trouvé
     End If
Next i

dès que vous avez trouvé votre ligne, vous pouvez quiter le "For...Next" avec ce "Exit For" sans modifier le "i" en derligne

Merci pour votre retour !

Je ne sais pas si j'arrive à saisir la raison pour laquelle c'est le nom complet de la personne qui s'inscrit en E alors que l'écriture doit se faire en C ensuite en E (ligne vide) .. je devrais voir le no de dossier .. c et e étant mes deux premiers champs renseignés.

re,

C'est possible de télécharger/voir votre fichier ? (Eventuellement en PM)

assurément le voici

j'ai tenté de modifier ma ligne pour renseigner ma cellule.. sans succès

re,

dès qu'on le voit, c'est stupide (comme toutes les erreurs). Votre nouvelle macro s'appèle "Boutoninscrire2_Click" mais le bouton s'appèle "Boutoninscrire". Donc si vous poussez ce bouton, VBA lance l'ancienne macro "Boutoninscrire_Click" et ne pas votre nouvelle macro ""Boutoninscrire2_Click".

Solution : Renommez votre ancienne macro ""BoutoninscrireOLD_Click" (ou autre ou supprimez-la) et supprimez le "2" dans votre nouvelle macro

PS. J'ai légèrement modifié votre macro en utilisant le tableau le max que possible

oh la la je n'avais même pas réalisé que je créais une nouvelle macro lorsque je faisais un ajout je crois que j'ai regardé ce dossier à pas d'heure ...

Néanmoins ca fonctionne et puis merci pour la modif je vais tenter de m'approprier le code.

nickel MERCI ++

Rechercher des sujets similaires à "ecrire source"