macro pour appliquer un code sur tous les feuille du classeur

  • Initiateur de la discussion Initiateur de la discussion creolia
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

creolia

XLDnaute Impliqué
Bonsoir a tous

je viens vers vous pour car je souhaiterais appliquer cette macro sur plusieur feuil de mon classeur qui sont tous identique en nombre de colonne et de ligne ainsi qu'au different emplacement.

j'avais penser de copier la macro plusieur fois pour chaque feuil mais je me demandais si il y avais pas une solution plus simple .

a savoir la macro se trouveras dans un usf affecter a un bouton

merci pour votre aide

Code:
Sub TEST()

       
        
        Dim NBLigne As Integer
        
        For NBLigne = 5 To Sheets("FORMATION2").Range("B65536").End(xlUp).Row
        
        
            derlig = Sheets("CAV").Range("L1000").End(xlUp).Row + 1
            
            'FORMATION1
            If Cells(NBLigne, 9) < 10 Then
                Sheets("CAV").Range("L" & derlig).Value = Range(Cells(NBLigne, 2), Cells(NBLigne, 2)).Value 'nom
                Sheets("CAV").Range("M" & derlig).Value = Range(Cells(NBLigne, 3), Cells(NBLigne, 3)).Value 'prenom
                Sheets("CAV").Range("N" & derlig).Value = Range(Cells(NBLigne, 4), Cells(NBLigne, 4)).Value 'service
                Sheets("CAV").Range("O" & derlig).Value = Range(Cells(NBLigne, 9), Cells(NBLigne, 9)).Value 'NB jour restant
                Sheets("CAV").Range("K" & derlig).Value = Range(Cells(NBLigne, 10), Cells(NBLigne, 10)).Value 'formation
            End If
            
            
            
            'fin de la condition
        Next

End Sub
 
Re : macro pour appliquer un code sur tous les feuille du classeur

Bonsoir

Comme ceci peut-être
Code:
Sub TEST()
        Dim NBLigne As Integer
        For sh = 1 To Sheets.Count
        If Sheets(sh).Name = "FORMATION2" Then GoTo suite
        For NBLigne = 5 To Sheets("FORMATION2").Range("B65536").End(xlUp).Row
            derlig = Sheets(sh).Range("L1000").End(xlUp).Row + 1
            'FORMATION1
            If Cells(NBLigne, 9) < 10 Then
                Sheets(sh).Range("L" & derlig).Value = Range(Cells(NBLigne, 2), Cells(NBLigne, 2)).Value 'nom
                Sheets(sh).Range("M" & derlig).Value = Range(Cells(NBLigne, 3), Cells(NBLigne, 3)).Value 'prenom
                Sheets(sh).Range("N" & derlig).Value = Range(Cells(NBLigne, 4), Cells(NBLigne, 4)).Value 'service
                Sheets(sh).Range("O" & derlig).Value = Range(Cells(NBLigne, 9), Cells(NBLigne, 9)).Value 'NB jour restant
                Sheets(sh).Range("K" & derlig).Value = Range(Cells(NBLigne, 10), Cells(NBLigne, 10)).Value 'formation
            End If
            'fin de la condition
        Next
suite:
Next
End Sub
 
Re : macro pour appliquer un code sur tous les feuille du classeur

Bonsoir
il faut créer un module et y mettre la procédure test
sub test( byval Nom as string,byval NbLigne as integer)
derlig = Sheets(nom).Range("L1000").End(xlUp).Row + 1

'FORMATION1
If Cells(NBLigne, 9) < 10 Then
Sheets(nom).Range("L" & derlig).Value = Range(Cells(NBLigne, 2), Cells(NBLigne, 2)).Value 'nom
Sheets(nom).Range("M" & derlig).Value = Range(Cells(NBLigne, 3), Cells(NBLigne, 3)).Value 'prenom
Sheets(nom).Range("N" & derlig).Value = Range(Cells(NBLigne, 4), Cells(NBLigne, 4)).Value 'service
Sheets(nom).Range("O" & derlig).Value = Range(Cells(NBLigne, 9), Cells(NBLigne, 9)).Value 'NB jour restant
Sheets(nom).Range("K" & derlig).Value = Range(Cells(NBLigne, 10), Cells(NBLigne, 10)).Value 'formation
End If
tous les sheets(nom) en sheets(Nom)
'fin de la condition

et enfin dans la macro du bouton vous ne devez avoir que

Dim NBLigne As Integer
For NBLigne = 5 To Sheets("FORMATION2").Range("B65536").End(xlUp).Row
call test(activesheet.Name,NbLigne)

Next
a+
jpb
 
Dernière édition:
Re : macro pour appliquer un code sur tous les feuille du classeur

Bonsoir,
...a savoir la macro se trouveras dans un usf affecter a un bouton
Je ne vois pas bien le rapport entre le formulaire et la macro
Si elle doit être lancer depuis le formulaire, peut-être est-il possible de passer le nom de ta feuille comme argument dans ta macro
Code:
Sub test(nom de ta feuille)
A+
kjin
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
692
Réponses
3
Affichages
903
Retour