Import balance comptable

Oliver77

XLDnaute Occasionnel
Bonjour,

Je cherche une macro pour importer des données d’un classeur excel A dans un classeur B (les deux classeurs étant ouverts je dois pouvoir sélectionner l’onglet à importer).

Dans A le fichier sera toujours sur 3 colonnes (numéro, libellé, soldes + ou-).

A l’arrivée dans B il y a toujours les 3 colonnes mais la longueur des données devra être de 8 chiffres (dans A la longueur est aléatoire) avec une consolidation des soldes dans B.

Merci par avance,
Oliver
 

Pièces jointes

  • Classeur A.xls
    26 KB · Affichages: 107
  • Classeur B.xls
    17.5 KB · Affichages: 84
  • Classeur A.xls
    26 KB · Affichages: 109
  • Classeur B.xls
    17.5 KB · Affichages: 90
  • Classeur A.xls
    26 KB · Affichages: 104
  • Classeur B.xls
    17.5 KB · Affichages: 89

bbb38

XLDnaute Accro
Re : Import balance comptable

Bonjour Oliver, le forum,
Une idée de solution (certainement pas la meilleure).
J’ai oublié une de tes demandes « (les deux classeurs étant ouverts je dois pouvoir sélectionner l’onglet à importer). », mais je n’ai plus les idées claires pour rectifier.
Possibilité de lancer la macro par Ctrl + b.
Cordialement,
Bernard
 

Pièces jointes

  • Classeur B.xls
    30 KB · Affichages: 64
  • Classeur A.xls
    39.5 KB · Affichages: 80
  • Classeur B.xls
    30 KB · Affichages: 61
  • Classeur A.xls
    39.5 KB · Affichages: 81
  • Classeur B.xls
    30 KB · Affichages: 58
  • Classeur A.xls
    39.5 KB · Affichages: 87
Dernière édition:

Oliver77

XLDnaute Occasionnel
Re : Import balance comptable

Slt bbb38,

Merci la macro fonctionne très bien je la conserve pour un autre projet.
En fait, je souhaite que la programmation soit dans le classeur B et non dans le classeur A
Le classeur A provient d'une extraction de type excel d'un progiciel comptable.

Je compte mettre un bouton dans chaque onglet ainsi quand j'active la macro les données arrivent dans l'onglet "actif".

Désolé, je n'ai pas été assez précis.

Oliver77

En tout cas merci, j'étudie ta macro afin de pouvoir l'adapter par la suite.
 

bbb38

XLDnaute Accro
Re : Import balance comptable

Bonjour Oliver, le forum,
Une autre suggestion. Le code est uniquement sur l’onglet « ExerciceN ». A tester.
Cordialement,
Bernard
 

Pièces jointes

  • Classeur A.xls
    35.5 KB · Affichages: 80
  • Classeur A.xls
    35.5 KB · Affichages: 71
  • Classeur A.xls
    35.5 KB · Affichages: 78
  • Classeur B.xls
    43.5 KB · Affichages: 94
  • Classeur B.xls
    43.5 KB · Affichages: 96
  • Classeur B.xls
    43.5 KB · Affichages: 96

Oliver77

XLDnaute Occasionnel
Re : Import balance comptable

Slt bbb38,

Merci beaucoup, la macro fonctionne.
Je fais quelques tests et je te tiens au courant de l'avancée de mes travaux.
Je veux la faire évoluer pour consolider les numéros de comptes lorsqu'il y a des doublons.

Merci encore.

Oliver
 

Oliver77

XLDnaute Occasionnel
Re : Import balance comptable

Bonjour le forum, slt bbb38,

J'ai un souci avec cette macro. Dans mon exemple j'ai précisé classeur A mais en pratique le classeur change de nom à chaque utilisation (idem pour la feuille) et/ou dossier.
Ainsi, je ne souhaite pas qu'on précise le nom du classeur d'origine en l'occurrence le "classeur A" (idem pour la feuille) dans le code.
Aussi, il m'arrive d'avoir plusieurs feuille dans le classeur A. Comment faire pour selectionner la feuille active (ou plutot l'onglet ou se trouve mes données à recupérer) ?
Je sais que je dois passer par un "userform" mais plus facile à dire qu'à faire.

Je continue de mon côté mes recherches sur le net.

Merci d'avance,
Oliver77
 

Oliver77

XLDnaute Occasionnel
Re : Import balance comptable

Slt le forum,

Je reviens à la charge car après de longues recherches sur le net je n'ai rien trouvé de convainquant.

Voici le code posté par bbb38 que je désire améliorer.

Comment faire pour lui dire de selectionner le classeur ouvert sans le nommer ?
Je souhaite ensuite pouvoir selectionner l'onglet que je veux importer.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

With Workbooks("Classeur A.xls").Sheets("Sage")
.Activate
xdlgn = .Range("A65536").End(xlUp).Row
For i = 2 To xdlgn
xnocpte = .Range("A" & i).Value: xlongcpte = Len(xnocpte)
If xlongcpte <> 8 Then
Call Process(xnocpte, xlongcpte)
End If
Range("A" & i).Value = xnocpte
Next i
End With
Workbooks("Classeur B.xls").Sheets("ExerciceN").Range("A1:IV65536").ClearContents
Worksheets("Sage").Range("A1:C" & xdlgn).Copy Workbooks("Classeur B.xls").Sheets("ExerciceN").Range("A1")
Workbooks("Classeur B.xls").Sheets("ExerciceN").Activate
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Classeur B est le classeur de destination (pas de problème) !
Classeur A est le classeur d'origine et "Sage" et le nom de l'onglet mais en réalité ce n'est pas le cas.

Merci par avance,
Oliver77
 

Oliver77

XLDnaute Occasionnel
Re : Import balance comptable

Slt bbb38,

Merci de me venir en aide.
Non le fichier n'est jamais dans le même répertoire.
Je me déplace souvent en clientèle et je peux utiliser plusieurs postes.
Je marche uniquement avec une clé usb dans la poche et parfois mon portable perso.

Merci encore une fois,

Oliver77
 

Oliver77

XLDnaute Occasionnel
Re : Import balance comptable

Bonjour,

Je cherche une macro pour importer des données d’un classeur excel A dans un classeur B (les deux classeurs étant ouverts je dois pouvoir sélectionner l’onglet à importer).
Le fichier n'est jamais dans le même répertoire et parfois je ne l'ai pas encore enregistré.

Merci,
Oliver77
 

Oliver77

XLDnaute Occasionnel
Re : Import balance comptable

Bonjour,
J'ai ce code qui me permet d'importer dans un classeur B une feuille d'un classeur A.
Comment faire si on ne connait pas à l'avance le nom du classeur A et qu'on veut sélectionner une seule feuille de A ?

Merci par avance,
Oliver77:confused:

Code :

Option Explicit

Sub ExerciceN()
Dim xdlgn As Long,
Application.ScreenUpdating = False
With Workbooks("Classeur A.xls").Sheets("Sage").Activate
xdlgn = .Range("A65536").End(xlUp).Row
Workbooks("Classeur B.xls").Sheets("ExerciceN").Range("A1:IV65536").ClearContents
Worksheets("Sage").Range("A1:C").Copy Workbooks("Classeur B.xls").Sheets("ExerciceN").Range("A1")
Workbooks("Classeur B.xls").Sheets("ExerciceN").Activate
Application.ScreenUpdating = True
End Sub
 

Oliver77

XLDnaute Occasionnel
Re : Import balance comptable

Bjr le Forum,
Je n’ai pas trouvé exactement ce que je cherche. Je crois qu’il faut passer par ADO…
Avec VBA je bricole comme je peux mais ADO pour moi… C’est tout nouveau !
J’ai parcouru le « net » et trouvé une autre solution qui permet d’arriver au résultat.

Le seul « bémol » c’est le format des nombres.
J’ai trouvé une discussion à ce sujet mais maintenant je n'arrive pas à enlever les "0" inutiles.
Si vous pouvez m’aider !

Merci,
Oliver77.
 

Pièces jointes

  • Test import.xls
    119.5 KB · Affichages: 100
Dernière édition:

Discussions similaires

Réponses
2
Affichages
556

Statistiques des forums

Discussions
312 206
Messages
2 086 203
Membres
103 157
dernier inscrit
youma