collage spéciale avec une macro

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

A

alfonso

Guest
bonjour j'ai fait une macro qui me copie des cellules d'un fichier vers un autre fichier mais le probleme c'est qu'il doit me coller uniquement la valeur pas les formules

voila la macro

For ligne = 13 To 20
For colonne = 22 To 24
If Cells(ligne, colonne).Value > 0 Then Cells(ligne, colonne).Select

Selection.Copy
Windows("essai2.xls").Activate
Cells(ligne, colonne).Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlValues
Next colonne
Next ligne

probleme j'ai une erreur a la ligne Selection.PasteSpecial Paste ....
car les cellule fusionné doit etre de taille identique

pouvez vous m'aidez ??
 
Re : collage spéciale avec une macro

Bonjour Alfonso

peut être comme ci dessous, à tester dans ton projet :

Code:
For ligne = 13 To 20
    For colonne = 22 To 24
        If Cells(ligne, colonne).Value > 0 Then
            Cells(ligne, colonne).Copy
            With Workbooks("essai2.xls").[B]Sheets(1).[/B]Cells(ligne, colonne)
                .PasteSpecial Paste:=xlValues
            End With
        End If
    Next colonne
Next ligne

bonne journée
@+

edition : rajouté la feuille du 2ème classeur...
 
Dernière édition:
Re : collage spéciale avec une macro

bonjour

merci de ta réponse

ca marche nikel merci

je voudrais savoir un autre truc peut on changer dans l'instruction apres le then les cellules qui doit me copié

j'explique
For ligne = 13 To 20
For colonne = 22 To 24
If Cells(ligne, colonne).Value > 0 Then
tu me copie toute la ligne dont la cellules(ligne,colonne) >0 (exemple la ligne de D13 à X13)
et tu me la colle dans mon fichier essai2.xls en commencant par la ligne 1 etc...

est-ce que c'est clair ou doi-je réexpliquer
 
Dernière modification par un modérateur:
Re : collage spéciale avec une macro

ou je l'avait remarquer mais apres avoir poster
sinon
je voudrais savoir un autre truc peut on changer dans l'instruction apres le then les cellules qui doit me copié

j'explique

Citation:
For ligne = 13 To 20
For colonne = 22 To 24
If Cells(ligne, colonne).Value > 0 Then

tu me copie toute la ligne dont la cellules(ligne,colonne) >0 (exemple la ligne de D13 à X13)
et tu me la colle dans mon fichier essai2.xls en commencant par la ligne 1 etc...

est-ce que c'est clair ou doi-je réexpliquer
 
Re : collage spéciale avec une macro

Re

si j'ai bien compris :

Code:
For ligne = 13 To 20
    For colonne = 22 To 24
        If Cells(ligne, colonne).Value > 0 Then
            Range(Cells(ligne, 4), Cells(ligne, 24)).Copy
            With Workbooks("essai2.xls").Sheets(1).Range("D" & ligne)
                .PasteSpecial Paste:=xlValues
            End With
        End If
    Next colonne
Next ligne

au risque de faire plusieurs fois la même action, a voir dans ton projet...

@+
 
Re : collage spéciale avec une macro

j'ai pas compris pourquoi je doit répété ca plusieur fois ? et autre chose ou dois-je indiquer le nom de la feuille source ou il diot me copier les cellules
 
Dernière modification par un modérateur:
Re : collage spéciale avec une macro

Re

non, c'est la copie qui aura lieu plusieurs fois, puisque qu'il y a une boucle qui test par colonnes / lignes... mais bon, c'est les mêmes données qui seront copiées...

Pour le nom de la feuille de destination, modie la ligne de code comme suit :

Code:
With Workbooks("essai2.xls").Sheets("NomDeTaFeuille").Range("D" & ligne)

la fuille source est la feuille active du classeur actif.

chez moi ce code fonctionnait (Excel2003).

@+
 
Re : collage spéciale avec une macro

Re

comme je te le disais, comprends pas trop chez moi ce code fonctionnait... Où as tu placé le code, dans un module standard ou dans le module d'une feuille ? le mieux, à priori serait dans un module standard.

Le classeur et la feuille où se trouvent les données à copier, doivent être actifs.

Sinon mets en pièce jointe les 2 fichiers très allégés, sans données confidentielles, avec la totalité du code utilisé...

@+
 
Re : collage spéciale avec une macro

je te joint les fichiers depuis mon site perso car la taille dépassait la limite pour le mettre sur le forum

en faite ce que je souhaite obtenir c'est que dans "fichiers1.xls" dans la colonne retard lorsque la cellule est supérieur à 0, alors il me copie la ligne entière et me la colle dans "essai2.xls" et il faudrait qu'il y a une boucle pour qu'il me répet cette opération pour les lignes suivantes la trame est identique sur les 2 fichiers pour simplifiez le copier coller




merci d'avance 😎😎
 
Re : collage spéciale avec une macro

Bonjour Alfonso

Ton fichier modifié, en fait c'est le classeur "essai2" qui est actif quand tu appeles la macro... donc forcement il ne se passe pas grand chose.

J'ai modifié la macro en renseignant les noms des classeurs et des feuilles.

bonne journée
@+
 

Pièces jointes

Re : collage spéciale avec une macro

salut j'ai une première erreur a la ligne "With Workbooks("fichiers1.xls").Sheets("Stator")" il me dit que l'indice n'appartient pas a la sélection pourtant j'ai bien respecter l'adresse de mon fichier
 
Re : collage spéciale avec une macro

après quelque correction suitte a des petites erreur la macro fonctionne mais losrque'il me copie les dates au lieu de 01/01/08 il me met 39400 je crois que ca vient de la ligne pasteSpecial.paste

voici le code
Sub Macro12()
Workbooks.Open Filename:= _
"\\dom2.ad.sys\dfsbor1root\BOR1_Homedir4\aozel\My Documents\SAVE\Indicateur de suivi des ITP appros_revue.xls"

For ligne = 13 To 20
For colonne = 22 To 24

If Cells(ligne, colonne).Value > 0 Then
Range(Cells(ligne, 4), Cells(ligne, 24)).Copy
With Workbooks("essai2.xls").Sheets("Feuil1").Range("D" & ligne)
.PasteSpecial Paste:=xlValues
End With
End If

Next colonne
Next ligne
End Sub

je vais essayer de corriger ca
merci pierrot pour ton aide c'est cool
 
Dernière modification par un modérateur:
- 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

Réponses
8
Affichages
780
Réponses
10
Affichages
791
Réponses
2
Affichages
466
Retour