Macro excel
karlskoff
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
karlskoff Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
karlskoff Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
n'étant pas très expérimenté sur Excel, je bloque vraiment pour créer une macro qui aurait pour but de mettre à jour un classeur Excel "fichier maître.xls" à partir d’un second appelé "exractraction.xls".
Cette macro devra ajouter ou supprimer des lignes si nécessaire, ainsi que modifier des dates de début et de fin dans ces même ligne.
Si quelqu’un pouvait m’aider ? Merci.
n'étant pas très expérimenté sur Excel, je bloque vraiment pour créer une macro qui aurait pour but de mettre à jour un classeur Excel "fichier maître.xls" à partir d’un second appelé "exractraction.xls".
Cette macro devra ajouter ou supprimer des lignes si nécessaire, ainsi que modifier des dates de début et de fin dans ces même ligne.
Si quelqu’un pouvait m’aider ? Merci.
A voir également:
- Macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
7 réponses
Comment sont composés tes deux classeurs?
Quand doit se déclencher le prog?
Développe un peu...
A ton écoute.
Quand doit se déclencher le prog?
Développe un peu...
A ton écoute.
tout en ajoutant ou supprimant des lignes si nécessaire
Donc:
Si un numéro d'ordre présent dans "extraction" et présent dans "maître" = mise à jour des dates.
Si un numéro d'ordre présent dans "extraction" et absent dans "maître" = ajout d'une ligne.
Si un numéro d'ordre absent dans "extraction" et présent dans "maître" = suppression de la ligne.
Donc:
Si un numéro d'ordre présent dans "extraction" et présent dans "maître" = mise à jour des dates.
Si un numéro d'ordre présent dans "extraction" et absent dans "maître" = ajout d'une ligne.
Si un numéro d'ordre absent dans "extraction" et présent dans "maître" = suppression de la ligne.
Donc:
1/ Tu supprimes toutes les lignes de "maître" qui n'ont pas de numéro d'ordre.
2/ Ensuite tu copies "extraction" dans "maître" (A en A; B et C, en N et O).
3/ Tu recherches les doublons en colonne A, si doublon tu écrases les valeurs colonne N et O. Nécessaire? Couper/Coller.
4/ Ajout des bordures.
5/ Trie du tableau.
1/ Tu supprimes toutes les lignes de "maître" qui n'ont pas de numéro d'ordre.
2/ Ensuite tu copies "extraction" dans "maître" (A en A; B et C, en N et O).
3/ Tu recherches les doublons en colonne A, si doublon tu écrases les valeurs colonne N et O. Nécessaire? Couper/Coller.
4/ Ajout des bordures.
5/ Trie du tableau.
C'est la ou je pige pas trop. :-|
De ou récupère tu "order" dans "maître"?
Ou alors dois tu conserver B:M dans "maître" si "order" =""; ainsi que "order" de "extraction" avec B:M="" ?
Si un numéro d'ordre absent dans "extraction" et absent dans "maître" = ?
Tu recherches les doublons en colonne A, si doublon tu écrases les valeurs colonne N et O. Nécessaire?
De ou récupère tu "order" dans "maître"?
Ou alors dois tu conserver B:M dans "maître" si "order" =""; ainsi que "order" de "extraction" avec B:M="" ?
Si un numéro d'ordre absent dans "extraction" et absent dans "maître" = ?
Tu recherches les doublons en colonne A, si doublon tu écrases les valeurs colonne N et O. Nécessaire?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le fichier "maitre" a été créer à partir d'une première extraction de access. Tous les jours, on me donne le fichier "extraction" modifié pour mettre à jour "maitre", des ordres sont ajoutés (1128 lignes au début,
3264 aujourd'hui)et d'autres supprimés et les numéros d'ordre ne sont jamais dans le même ordre.
Comme tu as dit:
Si un numéro d'ordre présent dans "extraction" et présent dans "maître" = mise à jour des dates.
Si un numéro d'ordre présent dans "extraction" et absent dans "maître" = ajout d'une ligne.
Si un numéro d'ordre absent dans "extraction" et présent dans "maître" = suppression de la ligne.
Si un numéro d'ordre absent dans "extraction" et absent dans "maître" = rien ne peut se passer.
Il faut donc que les dates de début et de fin se mettent à jours pour les ordres communs à "maître" et "extraction".
Un nouveau numéro d'ordre présent dans "extraction" doit ajouter une ligne dans "maître"dans laquelle les cellules
B:M seront vides.
Si je fais une copie de la colonne A de "extraction" et que je la colle dans "maître", les nouveaux ordres vont apparaître devant des cellules des colonnes B:M déjà remplies et non ajouter des lignes à remplir.
3264 aujourd'hui)et d'autres supprimés et les numéros d'ordre ne sont jamais dans le même ordre.
Comme tu as dit:
Si un numéro d'ordre présent dans "extraction" et présent dans "maître" = mise à jour des dates.
Si un numéro d'ordre présent dans "extraction" et absent dans "maître" = ajout d'une ligne.
Si un numéro d'ordre absent dans "extraction" et présent dans "maître" = suppression de la ligne.
Si un numéro d'ordre absent dans "extraction" et absent dans "maître" = rien ne peut se passer.
Il faut donc que les dates de début et de fin se mettent à jours pour les ordres communs à "maître" et "extraction".
Un nouveau numéro d'ordre présent dans "extraction" doit ajouter une ligne dans "maître"dans laquelle les cellules
B:M seront vides.
Si je fais une copie de la colonne A de "extraction" et que je la colle dans "maître", les nouveaux ordres vont apparaître devant des cellules des colonnes B:M déjà remplies et non ajouter des lignes à remplir.
Il faut donc que les dates de début et de fin se mettent à jours pour les ordres communs à "maître" et "extraction".
Vu.
Un nouveau numéro d'ordre présent dans "extraction" doit ajouter une ligne dans "maître"dans laquelle les cellules
B:M seront vides.
Vu.
Si je fais une copie de la colonne A de "extraction" et que je la colle dans "maître", les nouveaux ordres vont apparaître devant des cellules des colonnes B:M déjà remplies et non ajouter des lignes à remplir.
Pourquoi pas rechercher le numéro de la première ligne vide en colonne C pour faire la copie?
Vu.
Un nouveau numéro d'ordre présent dans "extraction" doit ajouter une ligne dans "maître"dans laquelle les cellules
B:M seront vides.
Vu.
Si je fais une copie de la colonne A de "extraction" et que je la colle dans "maître", les nouveaux ordres vont apparaître devant des cellules des colonnes B:M déjà remplies et non ajouter des lignes à remplir.
Pourquoi pas rechercher le numéro de la première ligne vide en colonne C pour faire la copie?
Je ne comprends pas ce que tu veux dire par: "Ou rechercher la première ligne depuis la fin"?
Comme je ne connais pas le langage VBA, j'ai essayé de retourné le problème dans tous les sens et je ne suis arrivé à rien de concret, ou du moins aucune solution rapide, c'est pour cette raison que je voudrais simplement un bouton de commande capable d'effectuer la mise à jour en un clic et sans fautes.
Comme je ne connais pas le langage VBA, j'ai essayé de retourné le problème dans tous les sens et je ne suis arrivé à rien de concret, ou du moins aucune solution rapide, c'est pour cette raison que je voudrais simplement un bouton de commande capable d'effectuer la mise à jour en un clic et sans fautes.
Le classeur "exractraction.xls" est en fait une extraction excel d’un fichier Access, avec lequel je dois mettre à jour les dates de début et de fin dans le classeur "fichier maître.xls"à partir d’un même n° d’order.
Le classeur "exractraction.xls" comporte 3 colonnes : n° order, date de début, date de fin
Le classeur "fichier maître.xls" comporte donc ces 3 même colonnes plus 10 autres d’informations diverses.
Je voudrais mettre un bouton de commande dans le classeur "fichier maître.xls" qui en un simple clic se mettrait à jour à partir du classeur "exractraction.xls", tout en ajoutant ou supprimant des lignes si nécessaire.
Les chemins des fichiers sont :
- H:\Data\Olivier\fichier maître.xls
- H:\Data\Olivier\extraction.xls
http://www.cijoint.fr/cjlink.php?file=cj200806/cijctprt0V.xls.
http://www.cijoint.fr/cjlink.php?file=cj200806/cijvc3xwS9.xls.