Code VBA pr Ajout ds un Onglet spécifique

Salut Tous,

Que dois-je ajouter à ce code pour indiquer que les éléments à ajouter se fasse dans mon onglet BASE au lieu de la feuille active.

J'ai fait un onglet (Master) pour mes boutons et ce bouton (Matrice) s'ajoute ds cet onglet au lieu de l'onglet BASE.

Merci Beaucoup

Voir aussi PJ

Private Sub CommandButton_Ajouter_Click()
    'Coloration des Labels en noir'
    Label_Date_Heure.ForeColor = RGB(0, 0, 0)
    Label_Adressez_a.ForeColor = RGB(0, 0, 0)
    Label_Numero_du_Po.ForeColor = RGB(0, 0, 0)
    Label_Numero_Piece.ForeColor = RGB(0, 0, 0)
    Label_Le_Probleme.ForeColor = RGB(0, 0, 0)
    Label_Fournisseurs.ForeColor = RGB(0, 0, 0)
    Label_Solution.ForeColor = RGB(0, 0, 0)
    Label_Negatif.ForeColor = RGB(0, 0, 0)

    'Contrôle du contenu'
    If ComboBox_Adressez_a.Value = "" Then
        Label_Adressez_a.ForeColor = RGB(255, 0, 0)

    ElseIf TextBox_Numero_du_Po.Value = "" Then 'Si pas de "Numero_du_PO'
        Label_Numero_du_Po.ForeColor = RGB(255, 0, 0) 'Label "Numero_du_PO" en rouge'

     ElseIf TextBox_Numero_du_Po.Value = "" Then
        Label_Numero_du_Po.ForeColor = RGB(255, 0, 0)

    ElseIf TextBox_Numero_Piece.Value = "" Then
        Label_Numero_Piece.ForeColor = RGB(255, 0, 0)

    ElseIf TextBox_Le_Probleme.Value = "" Then
        Label_Le_Probleme.ForeColor = RGB(255, 0, 0)

    ElseIf ComboBox_Fournisseurs.Value = "" Then
        Label_Fournisseurs.ForeColor = RGB(255, 0, 0)

    ElseIf TextBox_Solution.Value = "" Then
        Label_Solution.ForeColor = RGB(255, 0, 0)

    ElseIf ComboBox_Negatif.Value = "" Then
        Label_Negatif.ForeColor = RGB(255, 0, 0)

    Else
        'Si le formulaire est complet, on insère les valeurs sur la feuille'
        Dim no_ligne As Integer, Numero_du_Po As String

        'N° de ligne de la dernière cellule non vide de la colonne +1'
        no_ligne = Range("A65536").End(xlUp).Row + 1

        'Insertion des valeurs sur la feuille'
        Cells(no_ligne, 1) = TextBox_Date_Heure.Value
        Cells(no_ligne, 2) = ComboBox_Adressez_a
        Cells(no_ligne, 3) = TextBox_Numero_du_Po.Value
        Cells(no_ligne, 4) = TextBox_Numero_Piece.Value
        Cells(no_ligne, 5) = TextBox_Le_Probleme.Value
        Cells(no_ligne, 6) = ComboBox_Fournisseurs.Value
        Cells(no_ligne, 7) = TextBox_Solution.Value
        Cells(no_ligne, 8) = ComboBox_Negatif.Value

        'Après insertion, on remet les valeurs initiales'
        TextBox_Date_Heure.Value = ""
        ComboBox_Adressez_a.Value = ""
        TextBox_Numero_du_Po.Value = ""
        TextBox_Numero_Piece.Value = ""
        TextBox_Le_Probleme.Value = ""
        ComboBox_Fournisseurs.ListIndex = -1
        TextBox_Solution.Value = ""
        ComboBox_Negatif.Value = ""

    End If
End Sub
mes onglets

Salut,

Essaie de remplacer le passage ci-dessous

        'Insertion des valeurs sur la feuille'
        With Sheets("BASE")
            .Cells(no_ligne, 1) = TextBox_Date_Heure.Value
            .Cells(no_ligne, 2) = ComboBox_Adressez_a
            .Cells(no_ligne, 3) = TextBox_Numero_du_Po.Value
            .Cells(no_ligne, 4) = TextBox_Numero_Piece.Value
            .Cells(no_ligne, 5) = TextBox_Le_Probleme.Value
            .Cells(no_ligne, 6) = ComboBox_Fournisseurs.Value
            .Cells(no_ligne, 7) = TextBox_Solution.Value
            .Cells(no_ligne, 8) = ComboBox_Negatif.Value
        End With

Si ça ne passe pas, merci de fournir ton fichier, plutôt qu'une image

Cordialement.

Salut Yvouille ,

Pouvez-vous allez à ce lien. Vous pourrez télécharger mon fichier.

Je ne peux pas faire une PJ car trop gros.

Merci Beaucoup.

Re,

J'ai ouvert ton fichier et ça part un peu dans tous les sens. J'ai retrouvé apparemment le bouton auquel est rattaché la macro que tu as fourni sur ton premier message. Par contre j'ai remarqué que tu n'avais pas modifié ton code sur la base de ma proposition. Dois-je le faire pour toi ?

Je trouverais plus juste que tu fasses toi l'essai et que - si ça ne joue pas - tu me donnes quelques précisions sur ce que tu as essayé et qui n'a pas fonctionné.

Amicalement.

Salut Yvouille,

Excuse-moi, j'ai oublié de te dire pour l'erreur sur le message précédent.

Oui j'ai ajouté la ligne mais j'ai un message d'erreur.

Je te joins l'image du message d'erreur.

Merci Beaucoup.

message d erreur

Salut Yvouille,

Je n'avais pas vu tous les changements de la procédure que vous m'avez suggéré.

J'ai donc copié votre procédure.

Effectivement ça fonctionne. Mais, la ligne se rajoute sur la première ligne

de l'onglet Base au lieu de la dernière non vide.

Et, elle efface la ligne qu'elle remplace.

Ça fait ça juste avec le bouton ds l'onglet Master. Le bouton ds l'onglet Base lui

fonctionne bien.

Auriez-vous une idée de ce qui me manque.

Merci Beaucoup

Re-bonjour,

En fait tu dois également chercher le numéro de la dernière ligne occupée (no_ligne =....) sur la bonne feuille. Il faut donc inclure l'instruction juste avant au passage With....End with.

Ca donne le bout de code :

        'Insertion des valeurs sur la feuille'

        With Sheets("BASE")

        'N° de ligne de la dernière cellule non vide de la colonne +1'
        no_ligne = .Range("A65536").End(xlUp).Row + 1

            .Cells(no_ligne, 1) = TextBox_Date_Heure.Value
            .Cells(no_ligne, 2) = ComboBox_Adressez_a
            .Cells(no_ligne, 3) = TextBox_Numero_du_Po.Value
            .Cells(no_ligne, 4) = TextBox_Numero_Piece.Value
            .Cells(no_ligne, 5) = TextBox_Le_Probleme.Value
            .Cells(no_ligne, 6) = ComboBox_Fournisseurs.Value
            .Cells(no_ligne, 7) = TextBox_Solution.Value
            .Cells(no_ligne, 8) = ComboBox_Negatif.Value
        End With

Ton fichier est énorme et il ne passe pas avec le site C-joint que j’utilise normalement. Afin de ne pas trop me casser la tête, je te fournis par sécurité le code complet ci-dessous, code qui ne bloque pas chez moi :

Private Sub CommandButton_Ajouter_Click()
    'Coloration des Labels en noir'
    Label_Date_Heure.ForeColor = RGB(0, 0, 0)
    Label_Adressez_a.ForeColor = RGB(0, 0, 0)
    Label_Numero_du_Po.ForeColor = RGB(0, 0, 0)
    Label_Numero_Piece.ForeColor = RGB(0, 0, 0)
    Label_Le_Probleme.ForeColor = RGB(0, 0, 0)
    Label_Fournisseurs.ForeColor = RGB(0, 0, 0)
    Label_Solution.ForeColor = RGB(0, 0, 0)
    Label_Negatif.ForeColor = RGB(0, 0, 0)

    'Contrôle du contenu'
    If ComboBox_Adressez_a.Value = "" Then
        Label_Adressez_a.ForeColor = RGB(255, 0, 0)

    ElseIf TextBox_Numero_du_Po.Value = "" Then 'Si pas de "Numero_du_PO'
        Label_Numero_du_Po.ForeColor = RGB(255, 0, 0) 'Label "Numero_du_PO" en rouge'

     ElseIf TextBox_Numero_du_Po.Value = "" Then
        Label_Numero_du_Po.ForeColor = RGB(255, 0, 0)

    ElseIf TextBox_Numero_Piece.Value = "" Then
        Label_Numero_Piece.ForeColor = RGB(255, 0, 0)

    ElseIf TextBox_Le_Probleme.Value = "" Then
        Label_Le_Probleme.ForeColor = RGB(255, 0, 0)

    ElseIf ComboBox_Fournisseurs.Value = "" Then
        Label_Fournisseurs.ForeColor = RGB(255, 0, 0)

    ElseIf TextBox_Solution.Value = "" Then
        Label_Solution.ForeColor = RGB(255, 0, 0)

    ElseIf ComboBox_Negatif.Value = "" Then
        Label_Negatif.ForeColor = RGB(255, 0, 0)

    Else
        'Si le formulaire est complet, on insère les valeurs sur la feuille'
        Dim no_ligne As Integer, Numero_du_Po As String

        'Insertion des valeurs sur la feuille'

        With Sheets("BASE")

        'N° de ligne de la dernière cellule non vide de la colonne +1'
        no_ligne = .Range("A65536").End(xlUp).Row + 1

            .Cells(no_ligne, 1) = TextBox_Date_Heure.Value
            .Cells(no_ligne, 2) = ComboBox_Adressez_a
            .Cells(no_ligne, 3) = TextBox_Numero_du_Po.Value
            .Cells(no_ligne, 4) = TextBox_Numero_Piece.Value
            .Cells(no_ligne, 5) = TextBox_Le_Probleme.Value
            .Cells(no_ligne, 6) = ComboBox_Fournisseurs.Value
            .Cells(no_ligne, 7) = TextBox_Solution.Value
            .Cells(no_ligne, 8) = ComboBox_Negatif.Value
        End With

        'Après insertion, on remet les valeurs initiales'
        TextBox_Date_Heure.Value = ""
        ComboBox_Adressez_a.Value = ""
        TextBox_Numero_du_Po.Value = ""
        TextBox_Numero_Piece.Value = ""
        TextBox_Le_Probleme.Value = ""
        ComboBox_Fournisseurs.ListIndex = -1
        TextBox_Solution.Value = ""
        ComboBox_Negatif.Value = ""

    End If
End Sub

A te relire.

Salut Yvouille,

Un GROS MERCI d'avoir pris le temps de trouver la solution.

Les deux boutons fonctionnent très bien.

Merci encore.

Rechercher des sujets similaires à "code vba ajout onglet specifique"