stephsteph
XLDnaute Occasionnel
Bonjour à tous,
J'ai aujourd'hui un souci qui dépasse mes compétences même si cela ne semble pas très sioux pour des experts.
C'est facile à expliquer, pas besoin d'un fichier exemple (mais j'en joins un pour le test quand même avec 7 colonnes et 41 lignes avec les plages crées manuellement appelées Gabon, Sénégal, Mali, mais en vrai, le fichier est bien plus volumineux, et il y aura au moins 100 plages).
Dans un fichier excel [2007], j'ai des colonnes remplies de diverses informations de texte dans chaque cellule, entre la colonne 1 et 7.
Je voudrais une macro VBA qui me définisse un nom de plage en fonction de la condition que la colonne 6 contienne le chiffre 1 et alors le nom de la plage est le contenu de la colonne 7 pour la même ligne et la définition de la plage est entre la colonne 1 et 5 pour toutes les lignes avec le chiffre 1 en colonne 6.
Et ainsi de suite pour les lignes avec 2, 3, 4, en colonne 6 avec respectivement pour chacune le nom repris du contenu de la colonne 7.
Bien sûr les lignes (j'ai fait un tri au préalable) avec le même contenu en colonne 6 (et aussi 7) sont contiguës, mais ce n'est pas une succession ininterrompue (la première occurrence de 1 peut commencer en ligne, par exemple 11, puis cela se poursuit, par exemple, pendant 6 lignes, puis rien pendant 4 lignes, puis commence les 2 durant 3 lignes, puis rien pendant 6 lignes, puis commence les 3, etc.)
Bien sûr mon fichier évolue et je ne peux créer les plages de nom manuellement car après ajout de nouvelles lignes les définitions seraient fausses.
Donc il faut que la macro commence par effacer toutes les définitions de plages précédentes de cette feuille, avant de créer les nouvelles.
J'espère que ce petit casse-tête matheux va titiller les méninges des experts du site.
En tout cas merci d'avance.
Steph (avec une bizz à Pierre-Jean qui, je vois, est sur le forum en ce moment)
J'ai aujourd'hui un souci qui dépasse mes compétences même si cela ne semble pas très sioux pour des experts.
C'est facile à expliquer, pas besoin d'un fichier exemple (mais j'en joins un pour le test quand même avec 7 colonnes et 41 lignes avec les plages crées manuellement appelées Gabon, Sénégal, Mali, mais en vrai, le fichier est bien plus volumineux, et il y aura au moins 100 plages).
Dans un fichier excel [2007], j'ai des colonnes remplies de diverses informations de texte dans chaque cellule, entre la colonne 1 et 7.
Je voudrais une macro VBA qui me définisse un nom de plage en fonction de la condition que la colonne 6 contienne le chiffre 1 et alors le nom de la plage est le contenu de la colonne 7 pour la même ligne et la définition de la plage est entre la colonne 1 et 5 pour toutes les lignes avec le chiffre 1 en colonne 6.
Et ainsi de suite pour les lignes avec 2, 3, 4, en colonne 6 avec respectivement pour chacune le nom repris du contenu de la colonne 7.
Bien sûr les lignes (j'ai fait un tri au préalable) avec le même contenu en colonne 6 (et aussi 7) sont contiguës, mais ce n'est pas une succession ininterrompue (la première occurrence de 1 peut commencer en ligne, par exemple 11, puis cela se poursuit, par exemple, pendant 6 lignes, puis rien pendant 4 lignes, puis commence les 2 durant 3 lignes, puis rien pendant 6 lignes, puis commence les 3, etc.)
Bien sûr mon fichier évolue et je ne peux créer les plages de nom manuellement car après ajout de nouvelles lignes les définitions seraient fausses.
Donc il faut que la macro commence par effacer toutes les définitions de plages précédentes de cette feuille, avant de créer les nouvelles.
J'espère que ce petit casse-tête matheux va titiller les méninges des experts du site.
En tout cas merci d'avance.
Steph (avec une bizz à Pierre-Jean qui, je vois, est sur le forum en ce moment)
Pièces jointes
Dernière édition: