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 -
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
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:
- Besoin d'aide pour une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro maker - Télécharger - Divers Utilitaires
- Macro word - Guide
2 réponses
Bonjour Eldyviah, bonjour le forum,
Pas sûr d'avoir bien compris... Peut-être comme ça :
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
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é.
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é.
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
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
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