Besoin d'aide pour une macro

Résolu/Fermé
Eldyviah Messages postés 30 Date d'inscription mercredi 13 avril 2016 Statut Membre Dernière intervention 20 avril 2016 - 13 avril 2016 à 10:34
Eldyviah Messages postés 30 Date d'inscription mercredi 13 avril 2016 Statut Membre Dernière intervention 20 avril 2016 - 13 avril 2016 à 18:04
Bonjour à tous,

Voila je souhaite réaliser une macro me permettant de mettre un nom bien précis, dans la plage allant de L2 jusqu'à la dernière ligne sur plusieurs onglet d’où ma boucle allant de "DEBUT" jusqu'à "FIN".Cependant le nom que je souhaite mettre sur cette plage dépend essentiellement du nom de la feuille active. Pouvez vous m'appuyer sur cette macro selon le code que j'ai commencé à écrire, en rappelant que je suis novice en VBA et que j'essaye seulement de progresser et de comprendre mes erreurs afin de ne pas les refaire. Merci d'avance pour toute aide

Sub insert_formule()


Sheets("DEBUT").Select

Do
ActiveSheet.Next.Select
If ActiveSheet.Name = "DEBUT" Then
Exit Do
End If




Dim i As Integer, DernLigne As Variant, Selection As Variant


DernLigne = Range("L" & Rows.Count).End(xlUp).Row
i = 2

ActiveSheet.Range("L:L").Select

For Selection = i To DernLigne

Do While DernLigne > i

If ActiveSheet.Name = "AAA" Then Selection.Range = "STRUCTURE"

If ActiveSheet.Name = "AAB" Then Selection.Range = "STRUCTURE1"

If ActiveSheet.Name = "AAC" Then Selection.Range = "STRUCTURE2"

If ActiveSheet.Name = "AAD" Then Selection.Range = "STRUCTURE3"

If ActiveSheet.Name = "AAE" Then Selection.Range = "STRUCTURE4"



Range("L1").Name = "ETB"
Exit Do



Loop Until ActiveSheet.Next.Name = "FIN"



End Sub
A voir également:

2 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
13 avril 2016 à 11:53
Bonjour Eldyviah, bonjour le forum,

Pas sûr d'avoir bien compris... Peut-être comme ça :

Sub insert_formule()
Dim O As worksheeet 'déclare la variable O (Onglets)
Dim DL As Long 'déclare la variable DL (Derniere Ligne)

For Each O In Sheets 'boucle sur tous les onglets O du classeur
    If Not O.Name = "DEBUT" And Not O.Name = "FIN" Then 'condition : si l'onglet ne s'appelle ni "DEBUT" ni "FIN"
        DL = O.Cells(Application.Rows.Count, 12).End(xlUp).Row 'définit la dernière ligne éditée Dl de la colonne 12 (=L) de l'onglet O
        Select Case O.Name 'agit en fonction du nom de l'onglet
            Case "AAA" 'cas
                O.Range("L2:L" & DL).Name = "STRUCTURE" 'action
            Case "AAB" 'cas
                O.Range("L2:L" & DL).Name = "STRUCTURE1" 'action
            Case "AAC" 'cas
                O.Range("L2:L" & DL).Name = "STRUCTURE2" 'action
            Case "AAD" 'cas
                O.Range("L2:L" & DL).Name = "STRUCTURE3" 'action
            Case "AAE" 'cas
                O.Range("L2:L" & DL).Name = "STRUCTURE4" 'action
        End Select 'fin de l'action en fonction du nom de l'onglet O
        O.Range("L1").Name = "ETB" 'nomme la cellule Li
    End If 'fin de la condition
Next O 'prochain onglet de la boucle
End Sub

0
Eldyviah Messages postés 30 Date d'inscription mercredi 13 avril 2016 Statut Membre Dernière intervention 20 avril 2016
13 avril 2016 à 11:59
Bonjour ThauTheme,

Tout d'abord merci d'avoir pris du temps pour répondre à ma requête,
je vais essayer ton code et essayer de l'adapter à ce que je suis entrain de réaliser,
je te tiens au courant sur les aboutissements de cette expérimentation dans la journée.

Bien cordialement
0
Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
13 avril 2016 à 15:31
ThauTheme, a la base les feuilles sont vides il me semble, il faut qu'il renseigne la valeur pour la dernière cellule.
0
Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
13 avril 2016 à 11:54
Salut,

Peux-tu me fournir un exemple avec ton document excel que je puisse t'aider?
Vas sur le site cijoint.com, fais moi un exemple et envois moi le lien.
Je regarderai ça après mangé.
0
Eldyviah Messages postés 30 Date d'inscription mercredi 13 avril 2016 Statut Membre Dernière intervention 20 avril 2016
13 avril 2016 à 12:27
Bonjour,


Je vais essayer de simplifier ce que je veux:
j'ai un classeur avec 10 feuilles dedans
je veux que pour les feuilles 2,3,4,5,6
pour la plage allant de L2 -> dernière ligne éditée dans les autres colonnes
affiche un texte en rapport avec le nom la feuille active, dans toute cette plage

par ex: si le nom de la feuille active ="AAA" alors dans L2 ->fin, la plage sectionnée
donne le texte "STRUCTURE".


Si ce n'est pas assez clair je réaliserai un exemple cette après midi, mais en tout cas merci de m'appuyer dans cette expérimentation
0
Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
13 avril 2016 à 13:10
Mais "STRUCTURE" n'a aucune rapport avec "AAA" non?
Ce sera mieux que tu m'envoie ton fichier Excel avec un exemple je pourrai mieux comprendre ce que tu veux.
0
Eldyviah Messages postés 30 Date d'inscription mercredi 13 avril 2016 Statut Membre Dernière intervention 20 avril 2016
13 avril 2016 à 13:59
0
Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
13 avril 2016 à 14:01
Dans la feuille DEBUT rien n'est écrit, c'est normal?
0
Eldyviah Messages postés 30 Date d'inscription mercredi 13 avril 2016 Statut Membre Dernière intervention 20 avril 2016
13 avril 2016 à 14:07
Oui car je veux seulement du texte dans les feuilles entre début et fin
En fonction du nom de ces feuilles
0