begin process at 2012 02 12 17:36:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

[Excel | VBA] Enregistrer données dans 2 classeurs différents à la fois


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Excel | VBA] Enregistrer données dans 2 classeurs différents à la fois

mardi 29 juillet 2008 à 09:52:43 | [Excel | VBA] Enregistrer données dans 2 classeurs différents à la fois

AiDuK

Bonjour tout le monde,

Je cherche à faire une manipulation un peu hasardeuse.
En fait, j'ai 2 classeurs ( GestionFIQ.xls et bddFIQ.xls ), ce que je souhaite faire c'est que lorsque j'ai uniquement mon classeur GestionFIQ.xls d'ouvert et qu'à partir d'un formulaire de celui ci j'insère des données dans une feuille de ce classeur, cela ouvre l'autre classeur ( bddFIQ.xls ) et que ca insère les mêmes données, puis referme le classeur.

Mon bout de code actuel permet une seule écriture ( sur le classeur en cours, là ou se trouve le formulaire )


Sub Extraction()

'extrait les informations d'une FNC pour créer le début de la FIQ
 
   Dim ProchaineLigneVide As Long
   Dim FileToOpen As Variant
   Dim mes1 As Variant
   Dim marecherche As String
   Dim No As String
   Dim Ws As Worksheet
  
    Select Case design_pays
        Case "FR"
            mes1 = "Importation annulée !"
            mes2 = "Ce classeur ne contient pas de F.N.C. !"
           
        Case "GB"
            mes1 = "Importation cancelled !"
            mes2 = "This workbook doesn't have N.C.S. !"
    End Select
   
On Local Error GoTo MyOpen
    FileToOpen = Application.GetOpenFilename("Tout les fichiers Excel (*.xl*;*.xls;*.xla;*.xml;*.xlm;*.xlc;*.xlw),")
    Module5.NoFIQ
    If FileToOpen Then
MyOpen:
        If Err.Number = 13 Then
            Err.Clear: On Local Error GoTo 0
            Workbooks.Open FileToOpen
        End If
               
  For Each Ws In ActiveWorkbook.Worksheets
           If UCase$(Ws.Name) = "FICHE FR" Or UCase$(Ws.Name) = "FICHE GB" Then
               Exit For
       Else
       ActiveWorkbook.Close
       MsgBox mes2
       Exit Sub
       End If
   Next
  
       marecherche = Ws.Range("O10").Value
  
       With ThisWorkbook.Sheets("Liste Fournisseurs").Range("a:a")
           Set c = .find(marecherche, LookIn:=xlValues)
       End With
       If c Is Nothing Then Call Module1.affiche_fournisseur
           With ThisWorkbook.Sheets("recep")
               ProchaineLigneVide = .Range("A65536").End(xlUp).Row + 1
     
               .Range("A" & ProchaineLigneVide).Value = Workbooks("GestionFIQ.xls").Sheets("Présentation").Range("E100").Value
               .Range("B" & ProchaineLigneVide).Value = Ws.Range("D11").Value
               .Range("C" & ProchaineLigneVide).Value = Ws.Range("D10").Value
               .Range("D" & ProchaineLigneVide).Value = Ws.Range("O10").Value
               .Range("E" & ProchaineLigneVide).Value = Ws.Range("P2").Value
               .Range("F" & ProchaineLigneVide).Value = Ws.Range("B16").Value
               .Range("G" & ProchaineLigneVide).Value = Workbooks("gestionfiq.xls").Sheets("Liste Fournisseurs").Range("g1").Text
               .Range("H" & ProchaineLigneVide).Value = Workbooks("gestionfiq.xls").Sheets("Liste fournisseurs").Range("g2").Text
           End With
                 
    No = Workbooks("GestionFIQ.xls").Sheets("présentation").Range("E100").Value
       
    MsgBox ("Nouvelle F.I.Q. N° " & No)
    ActiveWorkbook.Close
Exit Sub

    End If
    MsgBox mes1
End Sub


Merci d'avance d'avoir pris le temps de lire les explications et de prendre le temps de m'aider.

Cordialement,


AiDuK

mardi 29 juillet 2008 à 15:04:06 | Re : [Excel | VBA] Enregistrer données dans 2 classeurs différents à la fois

us_30

Membre Club
Réponse acceptée !
Bonjour,

Bigre... que cela est compliqué... Pourquoi ne pas voir les choses plus simplement ?

Par exemple, tu remplis la feuille à partir de ton formulaire, et seulement une fois que toutes saisies sont finies, un bouton de commande (sur ton formulaire) ouvre le second classeur, et copie les plages nécessaires...
Tu évitera ainsi, d'ouvrir et de fermer à chaque donné rentrée... simplicité = efficacité ! (ici) autant pour ton PC que pour ton code...

Bref, ce n'est qu'un conseil...

Ensuite sur le code, il manque nécessairement la référence du classeur à fois. En effet, tu n'indique nul part dans ton code, à quel classeur s'applique les actions...
Ensuite, bien d'autres pb de structure existe, mais il faudrait voir tout cela dans un 2ième temps...

Amicalement,
Us.


Cette discussion est classée dans : xls, ws, value, range, prochainelignevide


Répondre à ce message

Sujets en rapport avec ce message

aidez moi SVP c'est urgent automation [ par patou1000 ] Bonjour, j'utilise le code suivant et il fonctionne très bien sur mon pc (winXP excel 2000) mais dès que je passe sur un autre PC (excel 2000 quand mê [Excel | VBA] Condition sur nom de la feuille [ par AiDuK ] Bonjour à toutes et à tous,Mon code est presque terminé, cependant, je boque sur une partie.Ce code permet de parcourir l'ordinateur pour ouvrir n'imp [Excel] Faire une extraction sans doublon [ par AiDuK ] Bonjour à toutes et à tous,Je cherche actuellement à faire une extraction d'une feuille qui sert de formulaire, vers une pseudo base de donnée sous Ex [Excel] Faire une Extraction en choisissant le fichier et la feuille d'ou l'on extrait [ par AiDuK ] Bonjour à toutes et à tous,Actuellement, mon code me permet d'extraire les informations contenues dans une feuille excel ( formulaire ), afin de les a Besoin d'aide avec Visual Basic [ par picpic62 ] Bonjour,Je dois réaliser des fiches qui comporte chacunes 6 entrées. Les données à metre dans les 6 champs sont contenues dans un tableau. Chaque lign [Déplacé .Net --> VBA] coiper coller cellule [ par jacky1002 ] Bonjour, Malgrès toutes les info présentent sur ce site je ne parvient pas a me débloquer. (je débute sur VBA) je vous mets dans le contexte. Je crée problème de cellule vide [ par anna81 ] Je suis en train de réaliser une feuille de calcul de rdm, calcul d'une poutre iso au BAEL, si cela parle à quelqu'un mais je suis débutante et je ren [Déplacé .Net --> VBA] DECALAGE par rapport a une cellule [ par anisse09 ] Bonjour, voici mon besoin : J'aimerais que lorsque que j'ecris WS ou ES dans la plage A1:A6, la cellule ( qui est decalé de 3 colonnes ex A1-> D1) s [Déplacé .Net --> VBA] VBA Problème d'afféctation. [ par Kahoerre ] Bonjour, je suis actuellement en train de développer une macro Excel en VBA et je suis bloqué depuis déjà hier après-midi. Je n'arrive pas a attribu Probléme de syntaxe ? (VBA/Excel) [ par Petitjean315 ] Bonjour a tous. Je dois actuellement réaliser un projet Excel avec du VBA. J'ai écris des formules sous Excel et je suis actuellement en train de les


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,168 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales