Macro avec onglet mis a jour

  • Initiateur de la discussion Initiateur de la discussion grandgoret
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

grandgoret

Guest
Bonsoir a toutes et a tous !!!

Je rencontre des difficultés pour créer la macro suivante :
dans le fichier joint "Intermédiaire..", je dispose en Feuil1 d`une liste
de fichier de comptage ( que j'ai raccourci afin d alléger le fichier).
Le fichier "I # Ardennes..." correspond au premier fichier de comptage de la liste A, il est la a titre d'exemple.
Je souhaiterais :
-ouvrir un a un ces fichiers listés en A ( chemins d'accés en B)
-y ajouter l' onglet DJMA de "Intermédiaire..." complété, c`est a dire
avec la copie des cases ("BI", "BJ", "BK", "BL", "BM", "BN", "BO", "BP")
de Feuil1 vers les cases ("N12", "J12", "S21", "S17", "J26", "N26", "E17", "E21") de l'onglet DJMA qui sera copié dans le fichier de comptage.
-et faire en sorte que l'onglet DJMA se mette bien a jour a l'intérieur de son fichier de comptage : que les en-têtes se remplissent automatiquement a partir de l`onglet "autos_piétons" comme indiqué, ainsi que la case " coefficient correcteur" de l onglet DJMA.

Merci d'avance pour votre aide précieuse !!!
 

Pièces jointes

Re : Macro avec onglet mis a jour

Bonsoir Matthis


Pour infos:
Ton fichier IntermédiaireComptageAMPM contient des Userforms vides et des modules vides.

(Supprimes les , ton fichier sera moins volumineux)


Pour le reste difficile de t'aider .

(Nom de lecteur de dossiers à recréer etc ... )

Peux refaire des fichiers exemples avec des chemins du type, stp ?
C:\Temp

EDITION : PS

Peux tu tester (pour satisfaire ma curiosité stp) le bout de code ci-dessous, stp ?
et me dire si le résultat est le même que ta macro initiale.

Merci.

(code modifié de ta macro suppression )
Code:
Sub suppressionII()
'suppression:  si fichier vide de données de comptage et
'inscrit dans la base de données
Dim nWKB As Workbook
Dim x&, y&, z&
'SI NOM DE FICHIER DIFFÉRENT DE AA_COMPT_SYNCHRO ALORS: ON FAIT CE QUI SUIT
If ActiveWorkbook.Name <> "AA_COMPT_Synchro.xls" Then
'Somme des lignes pour savoir si il y a des données selon les horaires
With Sheets("Autos_piétons")
    With .Range("X11")
        .FormulaR1C1 = "=SUM(RC[-22]:RC[-1])"
        .AutoFill Destination:=Range("X11:X121"), Type:=xlFillDefault
    End With
.Range("X122").FormulaR1C1 = "=SUM(R[-111]C:R[-1]C)"
'variable de code grl
z = .Cells(3, 9)
If .Cells(122, 24) = 0 Then
    Set nWKB = Workbooks.Open("C:\Temp\liste comptage.xls")
        With nWKB
            With .Sheets("liste intersections")
            .Unprotect
            'condition si le fichier a été enregistré dans la base de données
             x = .Cells(3, 27) + 1
             If .Cells(x, 4) = z Then
'            'Aller à la dernière ligne pour la supprimer
            .Rows(x).Delete
            End If
            .Protect
            End With
'           'Supprimer la ligne du comptage dans la feuille liste complete
            With .Sheets("liste complète")
            .Unprotect
            y = .Cells(1, 28) + 1
            .Rows(y).Delete
            z = 9999999
            .Protect
            End With
            .Save
            .Close True
        End With
End If
.Range("X11:X122").ClearContents
End With
End If
'retour sur le fichier de comptage
''If z = 9999999 Then
'ici continuer avec le reste de ton code initial
End Sub
 
Dernière édition:
Re : Macro avec onglet mis a jour

Salut,
Tout d abord merci de m'avoir répondu.
Je ne comprend pas bien ta question concernant les chemins d'acces :
souhaite tu voir modifier les chemins présents dans la colonne B du fichier Intermédiaire ?
Je peux de toute facon modifier les chemins d acces une fois la macro finalisée.
Autre chose, le code proposé fonctionne ( en modifiant ton c:\Temp\List comptage.xls bien sur...), mais je nai pas vraiment a utiliser cette macro supression.
A+

Voila je me permet de reposter le fichier Intermediaire avec sa macro AjoutOngletDJMA() qui
pose problème ( erreurs de type Next sans for et pas d ouverture des fichiers de comptage ) . IL y a 3 fichiers de comptage exemples.
Merci encore pour votre aide.
 

Pièces jointes

Dernière modification par un modérateur:
Re : Macro avec onglet mis a jour

Bonjour,

Voila je poste ici ma macro AjoutOngletDJMA qui ne fonctionne pas.
Elle ne me renvoie plus d erreur du type next sans for, mais elle ne
fait strictement rien..

Code:
Sub AjoutOngletDJMA()
Application.ScreenUpdating = False
MonChemin = " c:\temp\"
MesSources = Array("BI", "BJ", "BK", "BL", "BM", "BN", "BO", "BP")
MesDest = Array("N12", "J12", "S21", "S17", "J26", "N26", "E17", "E21")
Dim fs As Object
Set fs = CreateObject("scripting.FileSystemObject")
With Sheets("Feuil1")
For Each x In .Range("A2:" & .Range("A65536").End(xlUp).Address)
If fs.fileexists(MonChemin & x & ".xls") Then
Workbooks.Open Filename:=MonChemin & x & ".xls"
Windows("IntermédiaireComptageAMPM.xls").Activate
Sheets("DJMA").Select
Sheets("DJMA").Copy Before:=Workbooks(x & ".xls").Sheets(2)
For i = 0 To UBound(MesSources)
On Error Resume Next
.Range(MesDest(i) & x.Row).Value = Workbooks(x & ".xls").Sheets("DJMA").Range(MesSources(i)).Value
Next
On Error Resume Next
Workbooks(x & ".xls").Save
Workbooks(x & ".xls").Close False
End If
Next
End With
Application.ScreenUpdating = True
End Sub

merci pour votre aide !!
 
Re : Macro avec onglet mis a jour

Bonjour à tous,

Voila j'ai réussi a gérer ma macro et maintenant elle fonctionne quasiment bien.
Cependant, l'onglet "DJMA" que je copie dans mes fichiers de comptage comporte des liaisons avec l'onglet "autos_piétons" qui est présent dans chacun de ces fichiers de comptage.
Pendant l'exécution de ma macro, excel m'affiche, pour chaque fichier de comptage qui est en cours de traitement, le message :
Une formule ou une feuille que vous voulez déplacer comtient le nom "base_de_donnée" qui existe deja sur la feuille de destination...
et me demande si je souhaite utiliser la définition du nom dans la feuille de destination, ce qui est le cas .
Que faut il que je rajoute dans ma macro pour faire un "oui" automatique a chaque demande de ce type et pour ne plus avoir ces messages ?

Voici le code de ma macro
Code:
Sub AjoutOngletDJMA()
Application.ScreenUpdating = False
MonChemin = "c:\Temp\"
'MonChemin = "\\quesfsfw015\utilisateurs14$\ID046117\Mes documents\Arrondissements\TEST\"
MesSources = Array("BI", "BJ", "BK", "BL", "BM", "BN", "BO", "BP")
MesDest = Array("N12", "J12", "S21", "S17", "J26", "N26", "E17", "E21")
With Sheets("Feuil1")
For Each x In .Range("A2:" & .Range("A65536").End(xlUp).Address)
    Workbooks.Open Filename:=MonChemin & x & ".xls" 'On ouvre le fichier
    Windows("IntermédiaireComptageAMPM.xls").Activate
    Sheets("DJMA").Copy Before:=Workbooks(x & ".xls").Sheets(2) 'Copie de l`onglet dans le fichier de comptage
    For j = 0 To UBound(MesSources) 'On boucle sur les Sources
            Workbooks(x & ".xls").Sheets("DJMA").Range(MesDest(j)) = Workbooks("IntermédiaireComptageAMPM.xls").Sheets("Feuil1").Range(MesSources(j) & x.Row).Value 'On copie en tenant compte de X.row (la ligne où on se trouve)
        Next
        Workbooks(x & ".xls").Activate
        Sheets("DJMA").Select
        Range("E3").Select
        ActiveCell.FormulaR1C1 = "=autos_piétons!R[1]C[3]"
        Range("F4").Select
        ActiveCell.FormulaR1C1 = "=autos_piétons!RC[-4]"
        Range("S4").Select
        ActiveCell.FormulaR1C1 = "=autos_piétons!R[1]C[-11]"
        Range("H9").Select
        ActiveCell.FormulaR1C1 = "=autos_piétons!R[-1]C[-6]"
        Range("S25").Select
        ActiveCell.FormulaR1C1 = "=autos_piétons!R[-17]C[-13]"
        Range("H29").Select
        ActiveCell.FormulaR1C1 = "=autos_piétons!R[-21]C[2]"
        Range("B13").Select
        ActiveCell.FormulaR1C1 = "=autos_piétons!R[-5]C[12]"
        Workbooks(x & ".xls").Save
        Workbooks(x & ".xls").Close False
    Next
    End With
Application.ScreenUpdating = True

End Sub

Merci poru votre aide, et bonne soirée à tous !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

E
Réponses
9
Affichages
7 K
elbarja
E
G
Réponses
2
Affichages
708
Guizmo
G
S
Réponses
8
Affichages
1 K
sarsargna
S
Y
Réponses
2
Affichages
1 K
ytreza92
Y
L
Réponses
0
Affichages
12 K
loulou_yellow
L
F
Réponses
3
Affichages
2 K
frenchteam78
F
E
Réponses
5
Affichages
2 K
Estelleb
E
G
Réponses
6
Affichages
1 K
Retour