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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <hasardeux@nomail.com> a écrit dans le message de news:0c1301c37c45$1a7c7ea0$a301280a@phx.gbl...
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
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