Import de données autre feuille excel

loa

XLDnaute Nouveau
Bonjour à tous,

J'ai besoin d'importer des données d'une autre feuille excel après avoir cliqué sur un CommandButton (sur le même fichier).
En fait chaque CommandButton devra importer des données de feuilles différentes et les mettre à la suite sur une même feuille.

Je ne sais pas si je suis bien clair, demandez moi pour + de précisions.

Merci pour votre aide
 

Yaloo

XLDnaute Barbatruc
Re : Import de données autre feuille excel

Bonjour loa,

Tu modifies la macro comme ça :

VB:
Private Sub CommandButton3_Click()
Sheets("Résultat Evaluation").Copy
ChDir "C:\Ton répertoire"
Application.Dialogs(xlDialogSaveAs).Show
End Sub

et si tu veux déjà pré-définir le nom du fichier, utilises plutôt celle-ci :

VB:
Private Sub CommandButton3_Click()
Dim objSaveBox As FileDialog
Sheets("Résultat Evaluation").Copy
ChDir "C:\Ton répertoire"
  'Définit la fenêtre "Enregistrer sous"
  Set objSaveBox = Application.FileDialog(msoFileDialogSaveAs)
  With objSaveBox
    'Définit un nom par défaut dans le champ "Nom de fichier".
    .InitialFileName = "Nom fichier.xlsx"
    'Définit le type de fichier par défaut:
    '(la valeur 1 Permet de spécifier les classeurs "XLSX" lorsque vous êtes dans Excel 2010)
    .FilterIndex = 1
    'Affiche la boîte de dialogue
    .Show
    'Enregistre
    .Execute
  End With
End Sub

A+

Martial
 

loa

XLDnaute Nouveau
Re : Import de données autre feuille excel

Encore une fois tout fonctionne pour le mieux, je te remercie!

Maintenant, j'aimerai que si la personne commence à incrémenter les feuilles concernées par la fabrication, qu'elle continue avec tout le reste de sa saisie.

En gros, j'aimerai que si la personne commence à cliquer sur un commandbutton concerné par la fabrication et qu'elle continue avec un commandbutton concerné par le conditionnement, ça lui mette un message d'erreur en lui disant que cela est incompatible et de lui demander de revoir sa saisie.

Suis-je assez claire?!! Je crains que non...

Merci
 

Yaloo

XLDnaute Barbatruc
Re : Import de données autre feuille excel

Bonsoir loa,

Suis-je assez claire?!! Je crains que non...

C'est bien, tu lis dans mes pensées :D

Difficile de te dire car lorsque tu as mis le fichier, il n'y a ni fabrication ni conditionnement donc en effet difficile de te suivre.

De plus, on passe d'un enregistrement de fichier aux boutons de saisie commande, si je comprends à peu près :confused:

Bon, d'après ce que j'ai compris :
- il faut peut-être créer 1 variable pour fabrication et 1 variable pour conditionnement.
- à l'ouverture du fichier on leur donne la valeur faux.
- lorsque l'on valide une demande de fabrication on teste la variable si elle est vrai on continue si elle est fausse on mets un message puis on arrête.

Ai-je bon ?

A+

Martial
 

loa

XLDnaute Nouveau
Re : Import de données autre feuille excel

Bonjour Martial,

J'ai fait une pause sur mon fichier et j'y reviens maintenant!

Concernant mon dernier post, j'y reviendrai plus tard.

Pour l'instant, je suis sur autre chose qui va être plus simple (je pense et j'espère!).

Alors, explications :
Finalement, je souhaiterais insérer mes feuilles en cliquant sur les commandbutton voulus mais avec les lignes comportant les flèches.
Donc cette partie, c'est bon, j'ai supprimé sur ma formule la partie :
For j = .[B65536].End(xlUp)(2).Row To i Step -1
If Left(.Cells(j, 2), 2) = "è " Then .Rows(j).EntireRow.Delete

2ème partie:

Je souhaiterais pouvoir effacer toutes les lignes comportant une flèche au début sur la feuille où toutes mes feuilles se sont insérées à la suite.
Du coup, j'ai créée un commandbutton avec la formule supprimée ci-dessus:

Private Sub CommandButton5_Click()
With Feuil46
For j = .[B65536].End(xlUp)(2).Row To i Step -1
If Left(.Cells(j, 2), 2) = "è " Then .Rows(j).EntireRow.Delete
Next
End With
End Sub

Au final, les lignes comportant une flèche s'effacent bien mais j'ai un message d'erreur :
Erreur d'exécution '1004':
Erreur par l'application ou par l'objet
Fin/Débogage/Aide

Et si je clique sur Débogage, ça me surligne en jaune "If Left(.Cells(j, 2), 2) = "è " Then " dans ma formule

Merci pour ton aide
 

loa

XLDnaute Nouveau
Re : Import de données autre feuille excel

Ok, ci-joint un fichier allégé avec l'essentiel pour comprendre!

Dans saisie de la demande, clique sur le CommandButton Module 1 dans l'encadré bleu.
Vas ensuite sur la feuille "Résultat Evaluation"
Tout s'incrémente correctement, et cela avec les lignes comportant les flèches.

Clique ensuite sur le commandbutton "Effacer les réponses" dans la même feuille "Résultat Evaluation"

Et là tu vois le message d'erreur alors que les lignes comportant les flèches se sont bien effacées
 

Pièces jointes

  • Modules tout réuni envoyé.xlsm
    241.4 KB · Affichages: 30
  • Modules tout réuni envoyé.xlsm
    241.4 KB · Affichages: 26
  • Modules tout réuni envoyé.xlsm
    241.4 KB · Affichages: 27

Yaloo

XLDnaute Barbatruc
Re : Import de données autre feuille excel

Re,

Oui, c'est tout à fait normal, au vu de ce que tu as écrit :

For j = .[B65536].End(xlUp)(2).Row To i Step -1

Ton i n'est pas définit, donc tu remontes ligne par ligne de la dernière jusqu'à une valeur non définit, d'où l'erreur.

Dans ton cas il faut écrire :
For j = .[B65536].End(xlUp)(2).Row To 35 Step -1

A+

Martial
 

loa

XLDnaute Nouveau
Re : Import de données autre feuille excel

Bonjour Martial,

J'avance à grands pas dans mon projet.
Mais je suis confrontée à un petit soucis.

Je te mets en PJ mon fichier, ce sera plus simple.

Le problème est que lorsque je clique sur "effacer le contenu de l'évaluation", ça me met une panneau de débogage en m'indiquant qu'il est impossible de modifier une cellule fusionnée.

Merci pour ton aide
 

Pièces jointes

  • Modules tout réuni envoyé.xlsm
    125.7 KB · Affichages: 27
  • Modules tout réuni envoyé.xlsm
    125.7 KB · Affichages: 29
  • Modules tout réuni envoyé.xlsm
    125.7 KB · Affichages: 31

Discussions similaires

Statistiques des forums

Discussions
312 238
Messages
2 086 491
Membres
103 234
dernier inscrit
matteo75654548