Copier toutes les cellules déverrouillées d'une feuille vers un autre classeur (VBA)

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

P

prorudess

Guest
Bonjour le forum,
Je cherche à copier toute les cellules déverrouillées d'une feuille vers un autre fichier qui me servira d'historisation.
C'est à dire qu'à chaque fois que je lancerais la macro, seule les cellules déverrouillées se copieront à la prochaine ligne vide de mon classeur.
Je vous laisse un exemple où la feuille 1 représente les cellules à exporter de telle sorte qu'elles apparaissent comme indiqué sur la feuille 2.
En espérant avoir été assez clair dans mes explications.
Merci d'avance.
 

Pièces jointes

Dernière modification par un modérateur:
Re : Copier toutes les cellules déverrouillées d'une feuille vers un autre classeur

Re,

Les cellules déverrouillées peuvent changer de place et la macro doit parcourir les cellules déverrouillées quelles que soient leur position, ou veux-tu simplement reprendre les valeurs de C4, C5 et A11 de façon fixe ?
 
Re : Copier toutes les cellules déverrouillées d'une feuille vers un autre classeur

Non,
Je souhaiterais que la macro puisse parcourir l'ensemble (ou seulement une plage) de la feuille en copiant toutes les cellules déverrouillées dans un autre classeur peu importe la place.
 
Re : Copier toutes les cellules déverrouillées d'une feuille vers un autre classeur

Re,


Pour l'instant ça copie dans la feuille classeur, conformément à ton classeur exemple

à tester

Code:
Sub test()
Dim PremCell As String, CoursCell As String
Dim Ligne As Long, Col As Long
    Ligne = ThisWorkbook.Sheets("Classeur").Range("A65536").End(xlUp).Row + 1
    Col = 1
    With ThisWorkbook.Sheets("Feuil1")
        If .Range("A1").Locked Then
            PremCell = .Range("A1").Next.Address
        Else
            PremCell = "$A$1"
        End If
        CoursCell = PremCell
        Do
            ThisWorkbook.Sheets("Classeur").Cells(Ligne, Col).Value = .Range(CoursCell).Value
            Col = Col + 1
            CoursCell = .Range(CoursCell).Next.Address
        Loop Until CoursCell = PremCell
    End With
End Sub
 
Re : Copier toutes les cellules déverrouillées d'une feuille vers un autre classeur

Merci beaucoup,
C'est exactement ce que je cherchais.
Je l'adapte à mon fichier et je reviens vers toi si jamais j'ai d'autres questions.
Merci encore bonne soirée
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
8
Affichages
2 K
StanislasC
S
D
Réponses
6
Affichages
994
Retour