Macro recherche ne fonctionne pas

  • Initiateur de la discussion Initiateur de la discussion dj dim
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dj dim

XLDnaute Occasionnel
Bonjour le forum,

Je me permets de solliciter votre aide pour une macro qui ne fonctionne pas et je ne comprends pas pourquoi !

D'autant plus que je n'ai pas de message d'erreur ?!

Voici le code :
Code:
Option Explicit

'Recherche'
Sub Recherche(ByVal Target As Range)

If [B7] = [F7] Then
Worksheets("Base de données").Range("B3:B98").Copy
Range("A15").PasteSpecial Paste:=xlValues

If [B7] = [F8] Then
Worksheets("Base de données").Range("B99:B197").Copy
Range("A15").PasteSpecial Paste:=xlValues

If [B7] = [F9] Then
Worksheets("Base de données").Range("B198:B277").Copy
Range("A15").PasteSpecial Paste:=xlValues

If [B7] = [F10] Then
Worksheets("Base de données").Range("B278:B367").Copy
Range("A15").PasteSpecial Paste:=xlValues

If [B7] = [F11] Then
Worksheets("Base de données").Range("B368:462").Copy
Range("A15").PasteSpecial Paste:=xlValues

End If
End Sub

Le but est d'aller chercher des infos dans une feuille et de les copier une liste en fonction de la valeur obtenue dans la liste de validation (cellule B7).

J'ai vraiment du mal en macro,j'espère que ce post aura plus de succès que mon précédent ...
HTML:
http://www.excel-downloads.com/forum/153438-interdire-limpression-et-le-copier-coller.html#post924018
 
Re : Macro recherche ne fonctionne pas

Bonjour DJ Dim, tototiti, bonjour le forum,

Comme tu as écris ton code soit tu rajoutes un End IF à chaque condition :
Code:
Option Explicit
 
'Recherche'
Sub Recherche(ByVal Target As Range)
 
If [B7] = [F7] Then
Worksheets("Base de données").Range("B3:B98").Copy
Range("A15").PasteSpecial Paste:=xlValues
End If
 
If [B7] = [F8] Then
Worksheets("Base de données").Range("B99:B197").Copy
Range("A15").PasteSpecial Paste:=xlValues
End If
 
If [B7] = [F9] Then
Worksheets("Base de données").Range("B198:B277").Copy
Range("A15").PasteSpecial Paste:=xlValues
End IF
 
If [B7] = [F10] Then
Worksheets("Base de données").Range("B278:B367").Copy
Range("A15").PasteSpecial Paste:=xlValues
End IF
 
If [B7] = [F11] Then
Worksheets("Base de données").Range("B368:462").Copy
Range("A15").PasteSpecial Paste:=xlValues
End If
End Sub

soit tu remplces (à partir du second) les If par des ElseIf...
Code:
Option Explicit
 
'Recherche'
Sub Recherche(ByVal Target As Range)
 
If [B7] = [F7] Then
Worksheets("Base de données").Range("B3:B98").Copy
Range("A15").PasteSpecial Paste:=xlValues
 
ElseIf [B7] = [F8] Then
Worksheets("Base de données").Range("B99:B197").Copy
Range("A15").PasteSpecial Paste:=xlValues
 
ElseIf [B7] = [F9] Then
Worksheets("Base de données").Range("B198:B277").Copy
Range("A15").PasteSpecial Paste:=xlValues
 
ElseIf [B7] = [F10] Then
Worksheets("Base de données").Range("B278:B367").Copy
Range("A15").PasteSpecial Paste:=xlValues
 
ElseIf [B7] = [F11] Then
Worksheets("Base de données").Range("B368:462").Copy
Range("A15").PasteSpecial Paste:=xlValues
End If
End Sub
 
Re : Macro recherche ne fonctionne pas

Bonjour le fil, bonjour le forum,

En pièce jointe ton fichier modifié et la macro événementielle Change qui agit automatiquement à chaque changement dans la cellule B7 de l'onglet Recherche.

Pourquoi ça ne marchait pas ? Tu utilisais non pas une macro mais une fonction personnalisée (le fait de mettre des parenthèses et un argument après Sub... transforme la procédure en fonction). D'autre part le code était placé dans le composant ThisWorkbook. Je pense pas que ça l'empêche de fonctionner mais il est préférable placer les procédures dans un module, sauf dans le cas d'une procédure événementielle.
J'ai donc supprimé les parenthèses (et ce qui'il y avait à l'intérieur) et placé ton code dans l'événement Change de l'onglet Recherche. Le copier/coller se fait automatiquement à chaque changement dans la cellule B7. Si tu ne veux aucune valeur dans le tableau, efface la cellule de B7...
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
829
Réponses
2
Affichages
588
Retour