Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro copier coller

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

kinel

XLDnaute Occasionnel
bonjour à tous

pouvez vous m'aider sur une macro copier coller que je voudrais intégrer au tableur ci-joint
les détails de ma question se trouvent dans la feuille1

Merci

Kinel
 

Pièces jointes

Re : macro copier coller

Bonjour kinel,

Code:
Private Sub CommandButton13_Click()
Dim c As Range
ActiveCell.Activate 'ou modifier la propriété TakeFocusOnClick
If ActiveCell.Column <> 1 Or ActiveCell = "" Then Exit Sub
For Each c In Sheets("101").[C5:C16]
  If c = "" Then c = ActiveCell: Exit Sub
Next
MsgBox "Zone pleine..."
End Sub
A+
 
Re : macro copier coller

bonjour à tous
particulièrement à Job75 s'il reçoit ce message

dans ce code qui fonctionne très bien, je voudrai ajouter un copier de la cellule se trouvant sur la même ligne en colonne C
pour la copier sur la même ligne en colonne E de la feuille 101

j'ai bien essayé quelques modif mais je n'ai pas le niveau pour arriver au but

merci de votre aide

Kinel
 
Re : macro copier coller

Bonjour kinel,

j'ai bien essayé quelques modif mais je n'ai pas le niveau pour arriver au but

Vous vous sous-estimez :

Code:
Private Sub CommandButton13_Click()
Dim c As Range
ActiveCell.Activate 'ou modifier la propriété TakeFocusOnClick
If ActiveCell.Column > 1 Or ActiveCell = "" Then Exit Sub
For Each c In Sheets("101").[C5:C16]
  If c = "" Then
    c = ActiveCell
    c(1, 3) = ActiveCell(1, 3) 'colonne C => E
    Exit Sub
  End If
Next
MsgBox "Zone pleine..."
End Sub
A+
 
Re : macro copier coller

cette fois ça fonctionne mais j'ai un autre souci

la commande renvoie à la feuille 101 hors je vais devoir créer une soixantaine de feuilles de ce type
le but étant de renvoyer la copie vers la dernière feuille ouverte
un peu comme la commande retour que vous aviez suggéré sur un autre post et que j'ai intégrée à l'exemple
 
Re : macro copier coller

merci pour cette réponse

ça se complique !

les feuilles suivantes seront exactement de même nature, juste quelques contenus de cellules qui seront différents
chacune des feuilles suivantes de 101 à 131 (voire plus) seront complétées par les codes choisis de la feuille CSARR qui contient le CommandButton13_Click en question
je pourrais bien sur copier le contenu de la feuille CSARR sur chacune des feuilles 101 ..... ou encore créer une feuille CSARR pour chaque feuille 101... mais ça deviendrait un fichier énorme

le code du CommandButton13_Click ne peut il pas se servir de la variable Public o pour placer les codes choisis ?

merci de votre réponse

Kinel
 
Re : macro copier coller

Bonjour à tous

j'ai bien essayé ce code:

Private Sub CommandButton13_Click()
Dim c As Range
ActiveCell.Activate 'ou modifier la propriété TakeFocusOnClick
If ActiveCell.Column <> 1 Or ActiveCell = "" Then Exit Sub
o.Activate 'renvoit bien vers la feuille précédente
For Each c In [C5:C16]
If c = "" Then c = ActiveCell: Exit Sub
Next
MsgBox "Zone pleine..."
End Sub


mais une fois la dernière feuille affichée on dirait que la commande s'arrête
je n'ai pas de message d'erreur mais la copie en C5:C16 ne se fait pas

merci de votre aide

kinel
 
Re : macro copier coller

Bonjour kinel,

Code:
Private Sub CommandButton13_Click()
 Dim c As Range
 ActiveCell.Activate 'ou modifier la propriété TakeFocusOnClick
 If ActiveCell.Column > 1 Or ActiveCell = "" Then Exit Sub
 For Each c In o.[C5:C16]
 If c = "" Then c = ActiveCell: Exit Sub
 Next
 MsgBox "Zone pleine..."
 End Sub
La macro est dans la feuille du bouton donc pour la plage il faut préciser qu'il s'agit de la feuille o.

Il n'est pas nécessaire d'activer o.

A+
 
Re : macro copier coller

RE

juste encore une petite question

est il possible, une fois la copie réalisée, de revenir automatiquement sur la feuille o ?
j'ai bien essayé le o.activate à divers endroits du code mais sans résultat

Kinel
 
Re : macro copier coller

salut

je laisse le soin à Job (si... perfectionniste 😉) de modifier son code.
Tu peux essayer
Code:
'Dans Thisworkbook
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
  Set o = Sh
End Sub

'sans oublier dans un module standard
Public o As Worksheet

'dans la page de code de la feuille CSARR
Private Sub CommandButton13_Click()
  Dim L As Byte
  If ActiveCell.Column > 1 Or ActiveCell = "" Then Exit Sub
  'mais il doit y avoir d'autres exceptions !
  Do
    If o.Cells(5 + L, 3) = "" Then o.Cells(5 + L, 3) = ActiveCell: Exit Do
    L = L + 1
  Loop While L < 12
  If L = 12 Then MsgBox "zone complète !", vbCritical, "plus de copies..."
  o.Select
End Sub
 
Dernière édition:
Re : macro copier coller

bonjour
mer"Si..." pour cette proposition qui fonctionne bien

j'avais juste oublié dans mon exemple de code qu'il me fallait aussi copier la cellule de la colonne D de la même ligne
donc copier A et D de la feuille CSARR
coller en C et E de la feuille "o"
 
- 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
7
Affichages
356
Réponses
14
Affichages
490
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…