Transfert de données d'une feuille à une autre

Bonjour à tous je vais expliquer mon problème,

J'ai actuellement une feuille " ÉLÉMENTS" qui prend en compte une Référence , dans l'index de mon app VBA j'ai une macro qui permet de vérifier que la Référence de mon élément existe dans la feuille DATA ( autre feuille qui sert de BDD), si la référence de l'élément n'existe pas le un message apparaît disant que la feuille contient des erreurs. Le client peut alors aller sur la feuille Référence puis l'ajouter manuellement.

Le cœur du problème est donc là sur cette feuille "REFERENCE" je voudrais que le client après avoir remplis les champs puisse appuyer sur le bouton Mettre à jour qui sera sur l'index de l'app et que grâce a ça tout les code Référence ajouter à la main soit copier sur la feuille DATA en tant que nouvelles références à la dernière ligne.

j'ai tenté un truc avec un tuto et ça me donne ce résultat mais ça e fonctionne pas

[code]

Sub MaJData()

Set wsi = Sheets("REFERENCES")

Set wso = Sheets("DATA")

dli = wsi.Cells(Rows.Count, 1).End(xlUp).row ' dernière ligne de la feuille REFERENCES

dlo = wso.Cells(Rows.Count, 1).End(xlUp).row ' dernière ligne la feuille DATA

For I = 2 To dli 'on parcourt toutes les lignes de wsi

Set re = wso.Range("A2:A" & dlo).Find(wsi.Cells(I, 1), lookat:=xlPart) 'on cherche le numéro de dossier dans wso

If re Is Nothing Then ' si non trouvé on ajoute une nouvelle ligne

lam = dlo + 1 'lam = ligne qui doit recevoir la modif

Else

lam = re.row ' ligne à modifer est la ligne dans laquelle on a trouvé le n° de dossier

End If

wsi.Rows(I).Copy wso.Cells(lam, 1) 'on copie la ligne de wsi vers wso

Next I

End Sub

[code]

Bonjour,

je pense que le problème se cache dans cette ligne :

wsi.Rows(I).Copy wso.Cells(lam, 1) 'on copie la ligne de wsi vers wso

si tu essais de faire cette opération "à la main" , tu auras une erreur ...

tu copy une ligne "entière" et tu colles dans une cellule

@+JP

Bonjour,

wsi.Range("A" & I & ":W" & I).Copy wso.Cells(lam, 1)

par exemple

@+JP

Coucou,

J'ai remplacé la partie du code effectivement c'était assez idiot

Mais lors du lancement de ma macro une autre erreur vient apparaître

" Erreur d’exécution "9" L'indice n’appartient pas à la sélection "

pour cette section du code :

[code]

Set wsi = Sheets("REFERENCES")

bonjour,

Sheets("REFERENCES") existe ?

il est dans le même fichier que le code ?

si c'est oui , essais un autre nom pour wsi , style OngletRef

tout est possible et wsi est peut être le problème

essais aussi : worksheets("REFERENCES")

@+JP

Salut JP,

Oui la Sheets "REFERENCES" existe ^^ mais je pense que je vais faire une solution plus simple je vais réutiliser la macro d'export CSV pour obtenir un CSV que j'utiliserais pour remplir ma BDD.

Du coup j'ai changer de méthode merci quand meme

Rechercher des sujets similaires à "transfert donnees feuille"