VBA excel acceder à un tableau collé

Résolu/Fermé
ori05 Messages postés 56 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 7 septembre 2009 - 12 août 2009 à 11:53
ori05 Messages postés 56 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 7 septembre 2009 - 12 août 2009 à 17:11
Bonjour, j'ai plusieurs tableaux dans une feuille excel(feuille3) chaque tableau correspondant à une technologie particulière et chaque tableau contient le materiel A avec ses caractéristiques, le matériel B avec ses caractéristiques.... Dans une autre feuille excel (feuille2) j'ai un menu déroulant ou l'utilisateur choisit la technologie souhaité il appuie ensuite sur un bouton valider qui lance une macro permettant de :
- selectionner le tableau correspondant dans le feuille3
- dupliquer dans ce tableau (de la feuille3) le nombre de matériel A,B que l'utilisateur souhaite (nombre entré dans une autre feuille).
- de copier ce tableau (une fois les duplications effectuées) dans la feuille2.

Le problème est que si l'utilisateur relance la macro (si il souhaite changer de technologie) le tableau qui est collé ne va pas écraser le précedent. Et le problème c'est que je suis obligée de faire un "insérer les cellules copiées " car dans ma feuille2, la où je colle mon tableau, en dessous j'ai plein d'autre tableau....

Donc il faudrait que je puisse supprimer le tableau précédent avant de pouvoir le coller. Mais le problème c'est que je peux pas connaître la taille de mon tableau qui est complètement alléatoire. De plus mon tableau d'origine (avant qu'il ne soit collé dans la feuille2) à un nom (que j'ai défini dans la zone nom) mais une fois collé dans la feuille2 il n'a plus de nom... Donc je ne peux pas y avoir accès....

Bref la je suis bloquée... En gros il faudrait que je trouve un moyen d'accéder à ce tableau collé.

Je ne suis pas sure que mes explications soient très claires... Mais pourriez vous m'aider si quelqu'un à une idée....


Merci beaucoup
A voir également:

9 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
12 août 2009 à 11:56
Salut,
Peux tu nous joindre ici ton classeur, ou alors être davantage précis : ou se colle exactement ton tableau la 1ère fois que tu le copies/colles?
0
ori05 Messages postés 56 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 7 septembre 2009 3
12 août 2009 à 13:37
Mon tableau ne se copie colle qu'une seule fois et il se colle dans la feuille2.
Le tableau d'origine se situe dans la feuille3.

Merci :-)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
12 août 2009 à 14:37
Alors ou se colle t'il exactement dans la feuil2?
0
ori05 Messages postés 56 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 7 septembre 2009 3
12 août 2009 à 14:44
Il se colle à un endroit précis de ma feuille la cellule A16 par exemple, j'ai nommé cette cellule et dans mon code je dis de coller à cet endroit....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
12 août 2009 à 14:48
Donc avant de copier/coller un nouveau tableau, il faut supprimer celui qui l'a été auparavant.
Comme on ne connais pas la taille de ce tableau, il faut en déterminer la dernière ligne et la dernière colonne. Y a t'il d'autres lignes non vides sous ce tableau et d'autres colonnes non vides à la droite de ce tableau?
0
ori05 Messages postés 56 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 7 septembre 2009 3
12 août 2009 à 14:53
Sous ce tableau oui il y a d'autres tableaux, à sa droite non...
0
ori05 Messages postés 56 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 7 septembre 2009 3
12 août 2009 à 15:11
J'ai quand meme prévu 3-4 lignes (vides) d'écart entre mes tableaux
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
12 août 2009 à 15:23
Alors j'ai "bricolé", je dis bien bricolé car ça n'a rien de conventionnel, ce code. essaye le en l'adaptant.
Il faut l'ajouter juste avant de faire ton copier coller (la 2ème fois). Attention à bien sauvegarder AVANT de faire les manipulations. Après il sera trop tard!!!!!
Le code :

Dim derlign As String, dercol As String

Sheets("Feuil2").Select
ActiveSheet.Range("A16").Select
derlign = 0
Do While ActiveCell <> ""
ActiveCell.Offset(1, 0).Select
derlign = derlign + 1
Loop
ActiveSheet.Range("A16").Select
dercol = 0
Do While ActiveCell <> ""
ActiveCell.Offset(0, 1).Select
dercol = dercol + 1
Loop
ActiveSheet.Range("A16").Select
derlign = derlign - 1
dercol = dercol - 1
ActiveSheet.Range("A16").Offset(derlign, dercol).Select
ActiveCell.Name = "toto"
ActiveSheet.Range("A16:toto").Select
Selection.Delete
ActiveWorkbook.Names("toto").Delete

Cordialement
0
ori05 Messages postés 56 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 7 septembre 2009 3
12 août 2009 à 17:11
C'est super merci beaucoup, ça marche parfaitement, c'est exactement ce que je recherchais !!!
0