liste dynamique

J

Juls

Guest
Pour commencer,
Bonjour à tous. Je viens de découvrir ce forum (c'est la première fois que j'en besoin sous excel) et vous avez l'air ultra motivés et, en tout cas, rapide dans vos réponses.
Bon, on arrete là la brosse à reluire... lol

Mon problème:
Je cherche un système permettant de recopier de manière dynamique les données des cellules non-vides d'une colonne vers une autre située dans une autre "sheet".
Le problème c'est qu'en utilisant le "paste special", je dois choisir entre "blancs non compris" et "coller avec liaison".
Hors, ce que j'aimerais, c'est une combinaison des deux.

J'ignore si une telle solution est disponible et/ou possible.

Merci, d'avance pour votre aide
 
@

@+Thierry

Guest
Salut Juls

La difficulté est plus grande qu'elle ne pourrait paraître à prime abord...

En effet la possibilité de "blancs non compris" appartient bien à la méthode "PasteSpecial"

Par contre la possibilité de "coller avec liaison" appartient bien à la méthode "paste"

C'est pour çà que MS a prévu un boution pour cette dernière possibilité et que le bouton se grise immédiatement lorsque l'on coche la case "blancs non compris"... En fait il se grise immédiatement si l'on click sur quoique ce soit dans cette fenetre ...(Pas fou chez MS...)

En fait je ne vois pas comment gérer les "blancs non compris" si je passe par Paste pour te conserver tes liens...

Donc j'en conclus que la seule possibilité (à moins que l'on trouve une astuce) est de faire une boucle sur la plage source, cellule par cellule, qui en fonction de la présence de données ou pas dans la cellule, irait reporter ou non un lien dans la plage Cible à la même ligne que la plage Source....

Pour faire ce genre de programme il faut bien entendu savoir exactement sur quelles plages on travaille, et bien entendu si ces plages seront délimités à l'avance, soit par une sélection, soit en dûr dans le code...

Donc à voir si c'est un besoin sporadique sur n'importe qu'elle plage, ou si c'est pour une gestion de plages définie...

Bon Courage
@+Thierry
 
V

Valérie

Guest
Bonjour à vous

A mon avis la solution est de sélectionner que les cellules remplies. Pour le cas où se sont des constantes je te propose la solution suivante :

Columns("H:H").SpecialCells(xlCellTypeConstants, 23).Copy
Sheets("Feuil2").Select
Range("F1").Select
ActiveSheet.Paste Link:=True
Application.CutCopyMode = False

Copiage des cellules constantes de la colonne H
Sélection de la feuille et de la première cellule de collage
Collage avec liaison

Si ce ne sont des constantes il faut trouver un moyen de select que ce que tu veux copieu!!

@+ Valérie
 
V

Vériland

Guest
Bonsoir le forum, Juls, Valérie et Thierry...

Alors pour la réponse de Juls moi j'avais cette macro...

Sub SelectionNonVideEtColle()
critère = "<>" '<----------on peut modifier le critère
Sheets("Feuil1").Columns("A:A").AutoFilter 1, critère
Range("A2:A250").Select
Selection.Copy
AutoFilterMode = False
Worksheets("Feuil2").Activate
' Range("B5").Select <----------- si je mets çà erreur 400 !!??!!
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Le principe est similaire à la proposition de Valérie à savoir copier les cellules non vides et les coller sur une autre feuille...La différence vient que j'ai fait cela en incluant un filtre automatique au départ qui permet de selectionner les cases non vides par le critère "<>"...

bon là n'est pas la question...Cette macro fonctionne tout comme celle de Valérie...Seulement y'a un problème auquel je ...

Lorsque j'insère dans la macro un Range("XX").Select avant ActiveSheet.Paste il m'arrive cette erreur :

Erreur 400

j'ai le même message actuellement avec la macro de Valérie qui contient aussi Range("F1").Select...

Lorsque j'enlève ce Range dans les deux macros cela fonctionne !!??!! mais le "coller" ne se fait pas à l'endroit souhaité (par exemple en G8)

Alors j'ai essayé par différentes méthodes...mais j'ai l'impression que l'ActiveSheet.Paste et désactivé s'il y a un range avant...

Comment faire pour permettre de coller la sélection de la feuille 1 à un endroit précis d'une cellule de la feuille 2 avec ces macros sans obtenir le message d'erreur ?

Actuellement la sélection se colle bien à l'endroit où la cellule est active (par exemple : si sur la feuill 2 la cellule active est en F1 le collage se fait à partir de F1, si la cellule active est en R5 le collage se fait à partir de R5...ainsi de suite...lol)

Vous voyez ce que j'veux dire ?...lol...y'a quelqu'un qui aurait le truc ?

Merci à vous...

A+ Vériland
img
 

Discussions similaires

Statistiques des forums

Discussions
314 019
Messages
2 104 631
Membres
109 090
dernier inscrit
hamza0p