Besoin d'aide pour une macro

Résolu
Eldyviah Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
Eldyviah Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   160
 
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   Statut Membre Dernière intervention  
 
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 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
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 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
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   Statut Membre Dernière intervention  
 
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 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
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   Statut Membre Dernière intervention  
 
0
Pierre1310 Messages postés 8564 Date d'inscription   Statut Membre Dernière intervention   651
 
Dans la feuille DEBUT rien n'est écrit, c'est normal?
0
Eldyviah Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Oui car je veux seulement du texte dans les feuilles entre début et fin
En fonction du nom de ces feuilles
0