Urgent!!! (affichage des données de la feuil 1 dans la feuil 4 [code VBA])

rachyou

XLDnaute Nouveau
Bonjour,
Je voudrais que vous m'aidiez, je voudrais avoir le code VBA qui correspond à mon petit problème la dessous :
Je voudrais quand je suis sur le fichier excel:
Dans la feuil 1, quand je suis par exemple dans la ligne 6 et je que choisi dans la case B[6] la lettre "A" comme type de moteur, alors je voudrais qu'il m'affiche dans la feuil nomée " resultat" protection A (ligne 7 qui existe dans la feuil nomé "BD").

ainsi que par exemple dans la feuil 1, quand je suis par exemple dans la ligne 6 et je que choisi dans la case B[6] la lettre "B" comme type de moteur, alors je voudrais qu'il m'affiche dans la feuil nomée " resultat" protection B (ligne 8 qui existe dans la feuil nomé "BD").

Vous trouvez le fichier ci-joint

Merci en avance

Salutations
 

Pièces jointes

  • test_test.xlsm
    17.1 KB · Affichages: 46

JBARBE

XLDnaute Barbatruc
Re : Urgent!!! (affichage des données de la feuil 1 dans la feuil 4 [code VBA])

merci :)
peut tu m'expliquer un peu le code si sa sera possible parsque je suis debutant en VBA
merci en avance

Cette macro est la plus simple qui existe ! Elle fait appelle à une boucle (for i = 7 to 10)
Option Explicit ' Déclaration obligatoire des variables ici i
Sub essai_A()
Dim i As Integer ' variable i
Application.ScreenUpdating = False ' Ecran figé
Sheets("BD").Activate ' feuille BD activée
For i = 7 To 10 ' boucle de la ligne 7 à 10
If Sheets("BD").Range("A11") = Cells(i, 2) Then ' si la cellule A11 (colonne cachée dans BD) et égale à la cellule se trouvant dans la colonne B ligne 7 à 10 alors
Range(Cells(i, 2), Cells(i, 3)).Copy Sheets("résultat").Cells(i, 1)' les cellules(colonneB-C) trouvée sont copiées dans la feuille résultat même ligne (i) et colonne A
Exit For ' Arrêt forçé de la macro ou boucle
End If ' fin de la condition
Next i ' fin de la boucle
Sheets("Feuil1").Activate ' feuille Feuil1 activée
Sheets("Feuil1").Range("C6") = 3 ' la cellule C6 de la feuille 1(cachée) prend la valeur 3 pour effacer la liste déroulante
Application.ScreenUpdating = True ' Ecran redevient normal
End Sub

Sub essai_B()
Dim i As Integer
Application.ScreenUpdating = False
Sheets("BD").Activate
For i = 7 To 10
If Sheets("BD").Range("A12") = Cells(i, 2) Then ' cellule A12
Range(Cells(i, 2), Cells(i, 3)).Copy Sheets("résultat").Cells(i, 1)
Exit For
End If
Next i
Sheets("Feuil1").Activate
Sheets("Feuil1").Range("C8") = 3 ' cellule C8
Application.ScreenUpdating = True
End Sub

Bonne soirée
 
Dernière édition:

Discussions similaires

Réponses
21
Affichages
961