macro SI transfert d'infos dans différentes feuilles

  • Initiateur de la discussion Initiateur de la discussion Usine à gaz
  • 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 !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,

Me voici devant un nouveau problème.
et bien sûr j'ai besoin de votre aide :

J'ai dans un classeur plusieurs feuilles :

- OF1
- SM
- CAL
- COT
- ITW
- NEX
- STI

Je saisi deux infos (n° OF et Ref. Produit) dans OF1 et le détail de l'OF concernant le Produit concerné s'affiche dans "SM"

ensuite, je copie par une macro "ce détail" au fur et à mesure des nouveaux OF ... toujours dans la feuille "SM"

J'aurais besoin que cette copie ne se fasse pas sur "SM" mais dans chaque feuille concernée (CAL - COT - ITW - NEX - STI).

j'ai une macro qui déclenche la copie des OF :

Sub CopieOF()
'
' CopieOF Macro
'

'

Application.ScreenUpdating = False
Call FormulesExped

Sheets("SM").Select
If [ke1] > 0 Then
Call CopieOF25
Exit Sub

End If


Sheets("SM").Select
If [js1] > 0 Then
Call CopieOF24
Exit Sub

End If


Sheets("SM").Select
If [jg1] > 0 Then
Call CopieOF23
Exit Sub

End If


Sheets("SM").Select
If [iu1] > 0 Then
Call CopieOF22
Exit Sub

End If


Sheets("SM").Select
If [ii1] > 0 Then
Call CopieOF21
Exit Sub

End If


Sheets("SM").Select
If [hw1] > 0 Then
Call CopieOF20
Exit Sub

End If


Sheets("SM").Select
If [hk1] > 0 Then
Call CopieOF19
Exit Sub

End If


Sheets("SM").Select
If [gy1] > 0 Then
Call CopieOF18
Exit Sub

End If


Sheets("SM").Select
If [gm1] > 0 Then
Call CopieOF17
Exit Sub

End If


Sheets("SM").Select
If [ga1] > 0 Then
Call CopieOF16
Exit Sub

End If


Sheets("SM").Select
If [fo1] > 0 Then
Call CopieOF15
Exit Sub

End If


Sheets("SM").Select
If [fc1] > 0 Then
Call CopieOF14
Exit Sub

End If


Sheets("SM").Select
If [eq1] > 0 Then
Call CopieOF13
Exit Sub

End If


Sheets("SM").Select
If [ee1] > 0 Then
Call CopieOF12
Exit Sub

End If


Sheets("SM").Select
If [ds1] > 0 Then
Call CopieOF11
Exit Sub

End If


Sheets("SM").Select
If [dg1] > 0 Then
Call CopieOF10
Exit Sub

End If


Sheets("SM").Select
If [cu1] > 0 Then
Call CopieOF9
Exit Sub

End If


Sheets("SM").Select
If [ci1] > 0 Then
Call CopieOF8
Exit Sub

End If


Sheets("SM").Select
If [bw1] > 0 Then
Call CopieOF7
Exit Sub

End If


Sheets("SM").Select
If [bk1] > 0 Then
Call CopieOF6
Exit Sub

End If


Sheets("SM").Select
If [ay1] > 0 Then
Call CopieOF5
Exit Sub

End If


Sheets("SM").Select
If [am1] > 0 Then
Call CopieOF4
Exit Sub

End If


Sheets("SM").Select
If [aa1] > 0 Then
Call CopieOF3
Exit Sub

End If


Sheets("SM").Select
If [o1] > 0 Then
Call CopieOF2
Exit Sub

End If


Sheets("SM").Select
If [c1] > 0 Then
Call CopieOF1
Exit Sub

End If
Application.EnableEvents = True
End Sub
Sub CopieOF1()
'
' CopieOF1 Macro
'

'
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveSheet.Unprotect

Columns("A:L").Select
Selection.Copy
Range("M1").Select
ActiveSheet.Paste
Application.CutCopyMode = False

Columns("A:L").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("M3").Select
ActiveCell.FormulaR1C1 = "=IF(R[-2]C[2]<>0,RC[-12]+1,0)"

Range("V4:X43").Select
Selection.Copy
Range("J4").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("W1").Select
Selection.Copy
Range("K1").Select
ActiveSheet.Paste
Application.CutCopyMode = False

Range("S4").Select
ActiveWindow.SmallScroll ToRight:=12
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("OF1").Select
Range("B2").Select
ActiveCell.FormulaR1C1 = "'n° OF"
Range("E2").Select
ActiveCell.FormulaR1C1 = "Ref. Produit"
Range("B2").Select
Application.EnableEvents = True
Application.EnableEvents = True
End Sub
Sub CopieOF2()
'
' CopieOF2 Macro
'

'
Application.EnableEvents = False
ActiveSheet.Unprotect

Columns("M:X").Select
Selection.Copy
Range("Y1").Select
ActiveSheet.Paste
Columns("M:X").Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("AH4:AJ43").Select
Selection.Copy
Range("V4").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("AI1").Select
Selection.Copy
Range("W1").Select
ActiveSheet.Paste
Application.CutCopyMode = False

Range("AE4").Select
ActiveWindow.SmallScroll ToRight:=12
Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets("OF1").Select
Range("B2").Select
ActiveCell.FormulaR1C1 = "'n° OF"
Range("E2").Select
ActiveCell.FormulaR1C1 = "Ref. Produit"
Range("B2").Select
Application.EnableEvents = True
End Sub

Etc >...............................

Pouvez-vous m'aider ?

Mon classeur est trop gros pour être joint mais je ferai un classeur d'exemple si mes explications ne sont pas suffisantes.

Avec mes remerciements,
Amicalement,
Lionel,
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
540
Réponses
10
Affichages
300
Retour