Macro qui ne fonctionne pas, une idée?

Bonjour à tous,

Je rencontre un soucis sur une macro que je viens d’écrire et qui ne fonctionne que pour une seule des questions. Je vous explique :

Voici une capture d’écran de la première page (pas très sexy car la mise en forme viendra après, c’est un fichier brouillon pour créer les fonctionnalités)

En cellule A2, vous avez des catégories et en fonction du choix de cette catégorie, la liste déroulante en B2 propose des questions différentes (liste en cascade qui marche très bien). Jusqu’ici pas de soucis.

On a ensuite une multitude de feuille contenant certaines infos. Ce que j’aimerais faire, c’est que lorsqu’une question précise est sélectionnée (en B2 donc), qu’excel me copie-colle les infos de la feuille contenant l’info en question (qui seront masquées et protégées pour les utilisateurs de ce fichier histoire qu’ils ne me modifient pas les infos). J’ai donc écrit la Macro suivante pour la partie copier/coller :


Sub FAQ_RENVOIE()

’ FAQ_RENVOIE Macro
’ copie-colle les infos d’une feuille précise par rapport à la valeur de la cellule Questions


Set target = Sheets(« Feuil1 »).Range(« B2 »)

If target.Value = « Où retrouver une présentation générale du programme ? » Then
Sheets(« PROGRAMME »).Select
Range(« A1:C40 »).Select
Selection.Copy
Sheets(« Feuil1 »).Select
Range(« A8 »).Select
ActiveSheet.Paste
Range(« A8 »).Select
End If
If target.Value = « Qu’est-ce qu’une figure libre et une figure imposée ? » Then
Sheets(« FLFI »).Select
Range(« A1:C40 »).Select
Selection.Copy
Sheets(« Feuil1 »).Select
Range(« A8 »).Select
ActiveSheet.Paste
Range(« A8 »).Select
End If
If target.Value = « Où retrouver les fiches solutions ? » Then
Sheets(« FS »).Select
Range(« A1:C40 »).Select
Selection.Copy
Sheets(« Feuil1 »).Select
Range(« A8 »).Select
ActiveSheet.Paste
Range(« A8 »).Select
End If
If target.Value = « Quelles expérimentations sont prévues sur notre site ? » Then
Sheets(« EXPE_SITE »).Select
Range(« A1:C40 »).Select
Selection.Copy
Sheets(« Feuil1 »).Select
Range(« A8 »).Select
ActiveSheet.Paste
Range(« A8 »).Select
End If
If target.Value = « Comment participer à une expérimentation en cours ou à venir ? » Then
Sheets(« EXPE_CAL »).Select
Range(« A1:C40 »).Select
Selection.Copy
Sheets(« Feuil1 »).Select
Range(« A8 »).Select
ActiveSheet.Paste
Range(« A8 »).Select
End If
If target.Value = « Où consulter les expérimentations qui recrutent ? » Then
Sheets(« EXPE_VOL »).Select
Range(« A1:C40 »).Select
Selection.Copy
Sheets(« Feuil1 »).Select
Range(« A8 »).Select
ActiveSheet.Paste
Range(« A8 »).Select
End If
End Sub


(il y a surement moyen de faire beaucoup plus simple mais mes micros compétences en Macro ne m’aident pas, je suis donc partie sur du manuelle ^^’). Il y a d’autres lignes en dessous mais je vous mets un extrait du code qui est exactement pareil avec juste la Target. Value qui change et la feuille à copier-coller.

Le soucis : le code fonctionne très bien pour la première ligne (pour B2 = « Où retrouver une présentation générale du programme ? ») mais pas pour les autres. Je n’ai pas d’erreur identifié par Excel particulière (pas de débogage ou de trucs surlignés en jaune) donc je ne comprends pas pourquoi ça ne fonctionne pas…

Des idées sur le soucis ?

Merci par avance de votre aide !

Bonjour

Je te joins une proposition
Onglet (« Feuil1 ») en cellule « B2 » la liste déroulante
Onglet « Paramètres » en colonne A les 6 choix de la liste en colonne B les onglets correspondants
Cette liste peux être modifiée en plus ou en moins avec en colonne A la donnée de sélection en colonne B l’onglet correspondant

Les onglets listés en colonne B doivent être existant
Ils sont tous créés avec des données pour chacun d’eux de la cellule « A1 » à « C40 »

Onglets « Feuil1 » choisi la donnée en cellule « B2 »
Résultat en fonction à partir de la cellule « A8 »

Testes et dis moi

Classeur1.xlsm (26,7 Ko)

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.