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 !