Modif macro (possible ?)

  • Initiateur de la discussion Initiateur de la discussion RVL
  • 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 !

RVL

XLDnaute Occasionnel
Bonjour à tous,
est il possible de modifier la macro suivante, de telle sorte que celle ci copie uniquement les cellules deverrouillées de Feuil1.Range("A1:H25") et les colle non plus en ("Feuil2").Range("I"... mais à la même place d'origine de la Feuil1 ?

Je comprends "en gros" le VBA mais suis acctuellement incapable d'en faire une seul (comme un "grand")....

Merci pour votre aide

Sub f1versf2()
Sheets("Feuil1").Unprotect
Sheets("Feuil2").Unprotect
Dim plage As Range, c As Range, cSource As Range
Set plage = Feuil1.Range("A1:H25")
Application.ScreenUpdating = False
For Each c In plage
If Not IsEmpty(c) 'et non verrouillé' Then
Set cSource = Sheets("Feuil3").UsedRange.Find(what:=c, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
If Not cSource Is Nothing Then
If cSource.Offset(0, 1).Value = "A" Then
c.Cut Destination:=Sheets("Feuil2").Range("I" & _
Application.Rows.Count).End(xlUp)(2) 'place d'origine de la feuil1' End If
End If
End If
Next c
plage.Locked = False
Application.ScreenUpdating = True
Sheets("Feuil1").Protect AllowFormattingCells:=True
Sheets("Feuil2").Protect AllowFormattingCells:=True
End Sub
 
Re : Modif macro (possible ?)

Bonjour à tous,

Désolé de revenir pour mon pb de cellules (1 ou +)qui se verrouillent.....alors qu'initialement elles ne l'etaient pas et ceci quand j'execute la macro en question !!!

Mais j'ai remarqué que c'etait tjs dans les même plages: I25:I28 , J42:L42 et K45:L45 ?
je vous joint la macro entiere ci-dessous

Sub f1versf2a()
Sheets("f1").Unprotect "mdp"
Sheets("f2").Unprotect "mdp"
Dim plage As Range, c As Range, cSource As Range
Set plage = Feuil1.Range("D1😀2,F1:F2,C7:K12,D14😀15,F14:F15,C20:G25,D27😀28,F27:F28,C33:L39,D41😀42,F41:F42,C47:J53,I19:I23,I25:I28,K19:L26,K45:L45,J42:L42,L49:L53,N3:N41") 'zones selection pour transfert macro
Application.ScreenUpdating = False
For Each c In plage
If Not IsEmpty(c) And Not c.Locked Then
Set cSource = Sheets("BD").UsedRange.Find(what:=c, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
If Not cSource Is Nothing Then
If cSource.Offset(0, 8).Value = "A" Then
c.Cut Destination:=Sheets("f2").Range(c.Address)
End If
End If
End If
Next c
Range("J14:J15").Select
ActiveCell.FormulaR1C1 = "B"
Sheets("Plan Mer. P3").Select
Range("J14:J15").Select
ActiveCell.FormulaR1C1 = "A"
plage.Locked = False
Application.ScreenUpdating = True
Sheets("f1").Protect "mdp", AllowFormattingCells:=True
Sheets("f2").Protect "mdp", AllowFormattingCells:=True
End Sub

PS: comment faite-vous pour mettre une fenetre avec vos codes macro donnés en réponse ?
 
Re : Modif macro (possible ?)

Bonjour


PS: comment faite-vous pour mettre une fenetre avec vos codes macro donnés en réponse ?
Tu sélectionnes ton code puis tu cliques sur :
code.gif


ou tu utilises manuellement les balises BB : code
 
- 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
15
Affichages
782
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour