OVH Cloud OVH Cloud

Création feuilles: Compliqué!!!!

1 réponse
Avatar
hasardeux
Bonjour,

Mon probl=E8me est un peu sp=E9cial!!

Je cherche une macro qui ferait le suivant:
1- Lire la colonne B et D de la feuille LISTE =E0 partir de=20
la ligne 5 jusqu'=E0 la fin du tableau
2- A chaque ligne lue, correspond deux valeurs (B5 et D5 -=20
B6 et D6, .....Bx et Dx)
A chaque couple de valeur, il faut cr=E9er une feuille dans=20
le nom est les valeurs du couple avec un tir=E9 s=E9parant les=20
deux valeurs.

Exemple:
- Ligne 5: Le nom de la nouvelle feuille cr=E9=E9e serait:=20
B5_D5
- Ligne 6: Le nom de la nouvelle feuille cr=E9=E9e serait:=20
B6_D6
.
.
.
- Ligne x: Le nom de la nouvelle feuille cr=E9=E9e serait:=20
Bx_Dx


3- Enfin, dans chaque feuille cr=E9=E9e et =E0 partir de son=20
nom: Mettre la valeur B (du nom de la feuille) dans la=20
cellule B8 et la valeur D (du nom de la feuille) dans la=20
cellule B9 ET aller dans la colonne E de la feuille LISTE=20
pour copier le contenue de la cellule correspondant =E0 la=20
valeur D (colonne D de la feuille LISTE) (Comme la=20
fonction de la recherche verticale)

C'est un peu compliqu=E9 pour l'expliquer, si vous voulez je=20
peux envoyer un bout de mon fichier =E0 vos mails


Merci de m'aider si un peu urgent

1 réponse

Avatar
michdenis
Bonjour Hasardeux,

Et ceci :

Cette procédure ne tient pas compte des erreurs possibles que pourraient générer une situation comme :

A ) le nombre total de caractères plus grand que 31. 31 étant le nombre limite permis.

B ) Certains caractères ne sont pas permis dans l'appellation d'un nom de feuille : [ ] : / ? *

Cela explique la présence de "On error resume next"

'------------------------------
Sub CreerDesFeuilles()

Dim Rg As Range, Sh As Worksheet, Nom As String
With Worksheets("Feuil1")
Set Rg = .Range("B5:B" & Range("b65536").End(xlUp).Row)
End With
On Error Resume Next
Nom = ActiveSheet.Name
For Each c In Rg
ss = c.Offset(, 2).Address
If c <> "" And c.Offset(, 2) <> "" Then
Set Sh = Worksheets.Add
Sh.Name = c & c.Offset(, 2)
End If
Next
Worksheets(Nom).Activate

End Sub
'------------------------------



Salutations!



"hasardeux" a écrit dans le message de news:0c1301c37c45$1a7c7ea0$
Bonjour,

Mon problème est un peu spécial!!

Je cherche une macro qui ferait le suivant:
1- Lire la colonne B et D de la feuille LISTE à partir de
la ligne 5 jusqu'à la fin du tableau
2- A chaque ligne lue, correspond deux valeurs (B5 et D5 -
B6 et D6, .....Bx et Dx)
A chaque couple de valeur, il faut créer une feuille dans
le nom est les valeurs du couple avec un tiré séparant les
deux valeurs.

Exemple:
- Ligne 5: Le nom de la nouvelle feuille créée serait:
B5_D5
- Ligne 6: Le nom de la nouvelle feuille créée serait:
B6_D6
.
.
.
- Ligne x: Le nom de la nouvelle feuille créée serait:
Bx_Dx


3- Enfin, dans chaque feuille créée et à partir de son
nom: Mettre la valeur B (du nom de la feuille) dans la
cellule B8 et la valeur D (du nom de la feuille) dans la
cellule B9 ET aller dans la colonne E de la feuille LISTE
pour copier le contenue de la cellule correspondant à la
valeur D (colonne D de la feuille LISTE) (Comme la
fonction de la recherche verticale)

C'est un peu compliqué pour l'expliquer, si vous voulez je
peux envoyer un bout de mon fichier à vos mails


Merci de m'aider si un peu urgent