Exécution d'une macro sur différentes feuilles sous condition

Salut à tous,

J'ai une macro qui me permet à partir des infos fournit par l'utilisateur sur un useform de remplir un excel en allant à la ligne à chaque fois que la macro est exécutée. Mon problème est que j'ai 3 feuilles sur cet excel et j'aimerais qu'en fonction d'une condition sur mon userform la macro s'exécute sur telle ou telle feuille. Si vous avez des idées, merci d'avance;

Private Sub CommandButton1_Click()

'saut de ligne à chaque importation de données
Dim intLine As Integer
 intLine = Range("a65000").End(xlUp).Row + 1

  Cells(intLine, 1).Value = ComboBox1
  Cells(intLine, 2).Value = TextBox1.Value
  Cells(intLine, 3).Value = TextBox2.Value
  Cells(intLine, 4).Value = TextBox5.Value
  Cells(intLine, 5).Value = ComboBox6.Value
  Cells(intLine, 7).Value = TextBox8.Value
  Cells(intLine, 10).Value = ComboBox2.Value
  Cells(intLine, 8).Value = ComboBox7

  'définition variables
  Dim Myxxxx, Myxxx, Myxxxx, Myxxxx, Myxxxx, Myxxx, Myxxxx, Myxxxx, Myxxxx, Myxxx, Myxxxx As String

  Myxxxx = TextBox2.Value
  Myxxxx = ComboBox2.Value
  Myxxxx = ComboBox3.Value
  Myxxxx = TextBox9.Value
  Myxxxxx = TextBox10.Value
  Myxxxxx = TextBox11.Value
  Myxxxxxx = TextBox12.Value
  Myxxxxx = TextBox13.Value
  Myxxxxx = TextBox18.Value
  Myxxxxx = TextBox5.Value
  Myxxxxx = TextBox17.Value

  'selon les produits
  If ComboBox6.Value = "xxxx" Then
  Cells(intLine, 6).Value = xxxxxx 'HTML pour remplir une cellule'xxxxx
    ElseIf ComboBox6.Value = "xxxxxx" Then
        If ComboBox7.Value = "xxx" Then
  Cells(intLine, 6).Value = xxxxx 'HTMLxxxxx        
  ElseIf ComboBox7.Value = "xxxx" Then
  Cells(intLine, 6).Value = xxxxHTMLxxxx
          End If

    End If

End Sub 

Mon code fait ensuite pas mal de calculs raison pour laquelle je déclare pas mal de variables. Merci pour votre temps.

Bonsoir

Eh bien tu testes ta condition,

si condition x , ajouter dans Feuil1

si condition y , ajouter dans Feuil2

si condition z , ajouter dans Feuil3.....

Et voilà

si cela ne te suffit pas , tu pourras toujours joindre un fichier exemple et là , nous pourrons peut-être être plus précis

Bonne soirée

Bye

Merci de ta réponse.

Je ne sais justement pas comment l'écrire :

 If ComboBox.Value = "xxxxxxxx" Then 

Je ne sais pas quoi mettre après le Then, dois-je répéter mon code 3 fois en désignant à chaque fois quelle est l'Active Sheet...je suis un peu perdu, si tu as d'autres indications, avec plaisir.

Merci

Bonsoir

Sans fichier difficile, mais voilà:

tu peux définir tes 3 feuilles, puis

Dim Sh1, sh2, sh3 As Worksheet
Set Sh1 = Worksheets("Feuil1")
Set Sh2 = Worksheets("Feuil2")
Set Sh3 = Worksheets("Feuil3")
If ComboBox.Value = "xxxxxxxx" Then 
    sh1.Cells(lig,col) = tonchamp
else  

lig, étant la ligne souhaitée, col la colonne

etc...je ne sais pas ce que tu veux faire

Bye

Bonjour merci de la réponse. Malheureusement, je ne peux pas envoyer le fichier car il contient des données confidentielles notamment au niveau de l'userform...Ton code marche en effet mais je ne veux pas indiquer la ligne ou la colonne car mon code le fait tout seul : il remplit lignes après lignes et à chaque qu'il est relancé il remplit la ligne au-dessous de la dernière ligne remplit. J'essaye juste de vouloir indiquer sur quelle feuille de mon fichier mon code doit s'exécuter mais sans succès..

Private Sub UserForm_Initialize()
ComboBox1.AddItem Range("R2")
ComboBox1.AddItem Range("R3")
ComboBox1.AddItem Range("R4")
ComboBox2.AddItem Range("R6")
ComboBox2.AddItem Range("R7")
ComboBox2.AddItem Range("R8")
ComboBox2.AddItem Range("R9")
ComboBox2.AddItem Range("R10")
ComboBox2.AddItem Range("R11")
ComboBox3.AddItem Range("R6")
ComboBox3.AddItem Range("R7")
ComboBox3.AddItem Range("R8")
ComboBox3.AddItem Range("R9")
ComboBox3.AddItem Range("R10")
ComboBox3.AddItem Range("R11")
ComboBox4.AddItem Range("R6")
ComboBox4.AddItem Range("R7")
ComboBox4.AddItem Range("R8")
ComboBox4.AddItem Range("R9")
ComboBox4.AddItem Range("R10")
ComboBox4.AddItem Range("R11")
ComboBox5.AddItem Range("R6")
ComboBox5.AddItem Range("R7")
ComboBox5.AddItem Range("R8")
ComboBox5.AddItem Range("R9")
ComboBox5.AddItem Range("R10")
ComboBox5.AddItem Range("R11")
ComboBox6.AddItem Range("R13")
ComboBox6.AddItem Range("R14")
ComboBox6.AddItem Range("R15")
ComboBox7.AddItem Range("R17")
ComboBox7.AddItem Range("R18")
End Sub

Private Sub CommandButton1_Click()

Dim intLine As Integer 'saut de ligne à chaque importation de données
 intLine = Range("a65000").End(xlUp).Row + 1

Cells(intLine, 1).Value = ComboBox1
  Cells(intLine, 2).Value = TextBox1.Value
  Cells(intLine, 3).Value = TextBox2.Value
  Cells(intLine, 4).Value = TextBox5.Value
  Cells(intLine, 5).Value = ComboBox6.Value
  Cells(intLine, 7).Value = TextBox8.Value
  Cells(intLine, 10).Value = ComboBox2.Value
  Cells(intLine, 8).Value = ComboBox7

  'définition variables
  Dim Myxxxx, Myxxxx, Myxxxx, Myxxxx, Myxxxxx, Myxxxxx, Myxxxxx, Myxxxxx, Myxxx, Myxx, Myxxx As String

  Myx = TextBox2.Value
  Myxx = ComboBox2.Value
  Myxx = ComboBox3.Value
  Myxx = TextBox9.Value
  Myxxx = TextBox10.Value
  Myxxx = TextBox11.Value
  Myxxx = TextBox12.Value
  Myxxx = TextBox13.Value
  My = TextBox18.Value
  Myxxx = TextBox5.Value
  Myxx = TextBox17.Value

  'selon une condition remplit sur l'userform
    If ComboBox6.Value = "xxx" Then
  Cells(intLine, 6).Value = 'code HTML
    ElseIf ComboBox6.Value = "xxxx" Then
        If ComboBox7.Value = "xx" Then
  Cells(intLine, 6).Value = HTML       
   ElseIf ComboBox7.Value = "xxxx" Then
  Cells(intLine, 6).Value = HTML       

   End If
    End If
End Sub

Mon code s'exécute très bien avec des sauts à lignes à chaque nouvelle info sur l'userform mais toujours sur la première feuille...encore merci de ton temps pour tes précédentes réponses.

Bonjour

Désolée mais je ne vois pas comment je peux t'aider

Je t'ai expliqué que selon la condition que toi seul connais, tu indiques devant tes cellules le nom de la feuille

Que puis-je faire d'autre ???

Si tu pouvais au moins extraire une partie de ton fichier, en modifiant les données confidentielles, et en indiquant exactement quelles sont tes conditions pour aller sur telle ou telle feuille

Bonne journée

Rechercher des sujets similaires à "execution macro differentes feuilles condition"