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

Problème de placement du copier coller

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

adr95

XLDnaute Occasionnel
Bonjour à tous,

Je voulais savoir si quelqu'un avait une idée pour mon problème.

J'ai une macro test qui réalise des copier coller. Les copier coller sont effectués sous la cellule Equipe n°1. Je souhaiterais pouvoir modifier l'endrois du copier coller pour qu'il soit effectué dans la cellule active qui se trouvera obligatoirement dans la colonne B.

Merci par avance pour tout aide.
 

Pièces jointes

Re : Problème de placement du copier coller

Bonjour,

regarde peut être ce test si cela peut t'aider, t'indiquera si la cellule active est bien dans la colonne B :
Code:
If ActiveCell.Column = 2 Then MsgBox "ok"

bonne journ&ée
@+
 
Re : Problème de placement du copier coller

Ok merci mais ce que je n'arrive pas à faire dans un premier temps c'est d'effectuer le copier coller dans la cellule active car dans le fichier que j'ai mis en annexe le copier coller s'efffectue dans la cellule en dessous d'Equipe n°.
 
Re : Problème de placement du copier coller

re,

Il me semble bien que lors de la précédente discussionle collage se faisait déjà dans la cellule active.... tu as donc déjà le code....
 
Re : Problème de placement du copier coller

Oui j'ai déjà le code mais cette fois j'ai des balises de début et de fin pour repérer la plage de donnée et c'est là le principale souci car je n'arrive pas à adapter le code de la cellule active avec les balises.
 
Re : Problème de placement du copier coller

J'ai essayé ceci mais ça ne marche pas :

Sub test()
Dim x As Range, y As Range
Set y = Cells.Find("balise de fin", , xlValues, xlWhole, , , False)
Set x = Cells.Find("Balise de début", , xlValues, xlWhole, , , False)
If Not y Is Nothing And Not x Is Nothing Then
If Not Intersect(ActiveCell, Range("B:B")) Is Nothing Then
Range("x:y").Copy Destination:=ActiveCell
Else
MsgBox "cellule active pas dans la colonne B"
End If
End If
End Sub

Il me dise que j'ai :

Erreur d'éxécution '1004':

Impossible de coller les informations car les zones Copier et de Collage sont de forme et de taille différentes. Essayez l'une des opérations suivantes:
- cliquez sur une seule cellule puis collez
- sélectionnez une zone rectangulaire de taille et de forme identiques à celles des informations puis collez.

J'ai essayé les deux indications mais j'ai toujours le même message.
 
Re : Problème de placement du copier coller

Oui c'est vrai mais le code que tu m'avais donné avait comme référence des plages fixe de cellule (exemple B18...) je me suis dit que comme x correspond à la cellule marquant le début de la plage de donnée et y la fin alors je séléction de x:y.
Et je ne vois pas quoi mettre à la place. As tu une idée ?
 
Re : Problème de placement du copier coller

Re,

en l'état :
Code:
Range("x:y")
te renvoie les colonnes de la colonne X à la colonne Y.
pour la plage déterminée par les variables :
Code:
Range(x,y)
 
Re : Problème de placement du copier coller

Quand je remplace Range("x:y") par Range(x:y) j'ai une erreur de compilation : erreur de synthaxe sur cette ligne : Range(x:y).Copy Destination:=ActiveCell
 
Re : Problème de placement du copier coller

Oui pardon j'avais mal lu.

Maintenant je voudrais pouvoir garder le même nombre d'espace vide dans mon tableau chose qui avait déjà été réalisé mais pas avec la cellule active c'est pourquoi
-la macro test correspond à l'insertion par rapport à la cellule "Equipe n°" chose que je ne veux plus mais qui gardait bien le même nombre de ligne vide
-la macro test1 correspond à l'insertion par rapport à la cellule active mais qui ne garde pas d'espace par rapport aux lignes vides
-la macro test2 ou j'ai essayé de combiner les deux mais qui me donne n'importe quoi.

Enfin comme je suis ammener à remplir le tableau n°1 celui ci "grandi" et lorsqu'on appuye sur le bouton pour pouvoir ajouter un autre tableau alors on efface une partie du tableau précédent comment faire pour y remedier ?
 

Pièces jointes

Re : Problème de placement du copier coller

Re,


oui... voir post ci-dessous.... suffit d'adapter les cellules en conséquence...

https://www.excel-downloads.com/threads/copier-colle-special.184027/

Re,

J'ai essayé mais j'ai un problème j'ai mis le code suivant :
Sub test1()
Dim x As Range, y As Range
Set y = Cells.Find("balise de fin", , xlValues, xlWhole, , , False)
Set x = Cells.Find("Balise de début", , xlValues, xlWhole, , , False)
If Not y Is Nothing And Not x Is Nothing Then
If Not Intersect(ActiveCell, Range("B:B")) Is Nothing Then
With Range(x, y)
Range("ActiveCell").Resize(.Rows.Count, .Columns.Count).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
Range("ActiveCell").Resize(.Rows.Count, .Columns.Count) = .Value
End With
Else
MsgBox "cellule active pas dans la colonne B"
End If
End If
End Sub

et on m'indique une erreur d'exécution '1004': La méthode 'Range' de l'objet '_Global' a échoué.
L'erreur vient de cette ligne :
Range("ActiveCell").Resize(.Rows.Count, .Columns.Count).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
 
- 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
10
Affichages
1 K
Réponses
10
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…