Inserer une ligne en fonction de deux variables: VBA

Bonjour tout le monde,

Mon problème est le suivant:

Mon code doit prendre en comptes deux variables distincts: le mois et le nom de l'article. Pour chaque mois j' ai les mêmes noms d articles (Dara, Esta, Jana). En effet, Dans la ligne F, il faut qu'il cherche le mois (Que je determine avec une liste deroulante) et une fois trouvé, il faut qu'il cherche le noms de l'article (Que je determine aussi) et insere une ligne au dessous.

Avec le code ci-dessous je n'arrive pas a integrer le variabe mois...quelqu'un peut m'aider (Ci-joint le fichier)

Sub Insére_Ligne_Après_Valeur_Trouvée()

Dim x

Range("C1:D1").Select

x = ActiveCell.Value

With Worksheets("Feuil1").Range("F:F")

Set c = .Find(x, LookIn:=xlValues)

If Not c Is Nothing Then

firstAddress = c.Address

End If

End With

Range(firstAddress).Select

ActiveCell.Offset(1, 0).EntireRow.Insert

End Sub

Bonjour et bienvenue sur le forum

Essaie ce code :

Sub Insére_Ligne_Après_Valeur_Trouvée()
    Dim x, m, c, firstaddress, SecondAddress
    x = Range("D1")
    m = Range("C1")

    With Worksheets("Feuil1").Range("F:F")
        Set c = .Find(m, LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            firstaddress = c.Address
        End If
        Set c = .Find(x, After:=Range(firstaddress), LookIn:=xlValues, LookAt _
        :=xlPart)
        SecondAddress = c.Address
    End With
    Range(SecondAddress).Offset(1, 0).EntireRow.Insert
    End Sub

Bye !

Marci Beaucoup gmb

Ca marche a la perfection.

Merci pour ton aide

Bonjour tous le monde

Je viens de créer une base de données, sauf que j'ai des petits problèmes liés aux codes VBA"

1 IER Problème: L'idée c'est de créer une ligne automatiquement suite a la sélection de deux variables (Mois et Produit) par l'utilisateur

Le code ci-dessous ca fonctionne parfaitement si la ligne qu on cherche a crée et les variables (Mois et produit) sont dans la même feuille de calcule (Voir pièce-jointe). Or, mon objectif devient de plus en plus complexe lorsque je cherche a créer la ligne automatiquement et en meme temps sur deux fichiers nommés "Clients" et "Fournisseurs" définis sur un emplacement X sur le réseau sans les ouvrir. (La structure des deux fichiers sur le réseau sont exactement pareil que la piece jointe, c est a dire: le mois suivi par les noms de produits)

Voici Mon code Actuel

Sub Insére_Ligne_Après_Valeur_Trouvée()

Dim x, m, c, firstaddress, SecondAddress

x = Range("D1")

m = Range("C1")

With Worksheets("Feuil1").Range("F:F")

Set c = .Find(m, LookIn:=xlValues, LookAt:=xlWhole)

If Not c Is Nothing Then

firstaddress = c.Address

End If

Set c = .Find(x, After:=Range(firstaddress), LookIn:=xlValues, LookAt _

:=xlPart)

SecondAddress = c.Address

End With

Range(SecondAddress).Offset(1, 0).EntireRow.Insert

End Sub

2IEME Probleme : une fois la ligne sera crée sur les deux fichiers tel que indiqué ci-dessus. je cherche que les informations saisis dans le Userform (Voir piece jointe) trouvent la ligne qui vient d'etre crée dans les deux fichiers et affecte les informations a la cellule A2 et B2

J espere etre claire et vraiment Merci beaucoup pour votre aide

ps: le fichier ci-joint

Rechercher des sujets similaires à "inserer ligne fonction deux variables vba"