Boucler sur l'ouverture d'une liste de fichiers
Résolu/Fermé
Benoit_Lyon
Messages postés
98
Date d'inscription
vendredi 20 janvier 2017
Statut
Membre
Dernière intervention
13 décembre 2017
-
18 mai 2017 à 00:18
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 - 24 mai 2017 à 09:23
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 - 24 mai 2017 à 09:23
A voir également:
- Boucler sur l'ouverture d'une liste de fichiers
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Explorateur de fichiers - Guide
- Liste de diffusion whatsapp - Guide
5 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
18 mai 2017 à 08:42
18 mai 2017 à 08:42
Bonjour,
pour pouvoir envisager une réponse, il faudrait savoir sur les classeurs source sur quelle feuille et quelles coordonnées se situent les tableaux à copier en supposant que les tableaux soient identiques soient identiques
le mieux serait de présenter un des ces classeurs
pour cela
Dans l’attente
ps: discussion transférée dans le forum programmation
pour pouvoir envisager une réponse, il faudrait savoir sur les classeurs source sur quelle feuille et quelles coordonnées se situent les tableaux à copier en supposant que les tableaux soient identiques soient identiques
le mieux serait de présenter un des ces classeurs
pour cela
Mettre le classeur sans données confidentielles en pièce jointe sur « mon-partage.fr »
et faire un clic droit-coller le raccourci dans votre message
Dans l’attente
ps: discussion transférée dans le forum programmation
Benoit_Lyon
Messages postés
98
Date d'inscription
vendredi 20 janvier 2017
Statut
Membre
Dernière intervention
13 décembre 2017
1
21 mai 2017 à 00:10
21 mai 2017 à 00:10
Bonjour Michel,
https://mon-partage.fr/f/IJed4bJN/
Voici le code que l'on a réussi à faire
Sub MajFichiersIndividuelsCommit()
Dim dossier As String 'variable qui va contenir le chemin du dossier à analyser
Dim fichier As String 'variable qui va contenir le nom du fichier execel à analyser mais sans son chemin complet
Dim feuille As Worksheet 'variable qui va permettre de boucler sur des feuilles Excel
Dim Base As String 'variable qui contient le nom du fichier Base
Dim Rg1 As Range 'pour tri onglet par date
Dim Rg2 As Range 'pour tri onglet par date
Dim ColDebCommit As Integer 'colonne de début des données dans onglet Commit
Dim ColFinCommit As Integer 'Colonne de fin des données dans onglet Commit
Dim ColDebCopie As Integer 'colonne de début des données de l'onglet Commit à copier dans Liste complète
Dim ColTri As Integer 'Colonne de tri dans onglet Commit - DATE DE MAJ -
Dim ColRech As Integer 'Colonne de recherche dans l'onglet Commit
Dim DtH As String 'Date Heure pour traçabilité
DtH = Date & " " & Time
ColDebCommit = 1
ColFinCommit = 32
ColDebCopie = 5
ColTri = 4
ColRech = 5
Application.DisplayAlerts = False 'on désactive les alertes de sécurité
'------------
'ATTention : 1) cette macro ne fonctionne que si le fichier Base est actif (ouvert dans Excel)
' et si tous les fichiers contenant les mises à jour sont, avec le fichier Base, dans le même répertoire
' 2) On ne vide pas l'onglet Commit du fichier Base (fichier principal) en fin de traitement, on peut conserver ainsi
' cet onglet "pour vérification" après le traitement. Par contre il est vidé au début du traitement suivant.
' 3) On vide les onglets Commit des fichiers secondaires après chaque copie dans l'onglet Commit principal
' Cette Macro ne fait pas de copie de sauvegarde de ces fichiers - a rajouter ou à faire à la main avant exécution si besoin de précaution
'Principe: Remise à zero onglet Commit de la base, recopie des onglets Commit de chaque fichier du répertoire dans l'onglet Commit de la base,
' Remise à zéro des ongelts Commit de chaque fichiet et enregistrement, Tri de l'onglet Commit de la base sur la date de màj
' Màj des données de la liste Complete de la base à partir de l'onglet Commit de la Base, sauvegarde du fichier Base
'------------
dossier = ActiveWorkbook.Path & "\" 'dossier du fichier Base
Base = ActiveWorkbook.Name 'Nom du fichier Base
fichier = Dir(dossier & "*.xl??") 'on utilise la fonction DIR lister les fichiers qui ont une extension qui commence par xl ce qui inclu xlsx xlsm ...
'------------
'ATTENTION: Remet à Zero l'onglet COMMIT de la Base
'------------
i = 2
Do While Workbooks(Base).Sheets("Commit").Cells(i, ColDebCommit) <> ""
i = i + 1
Loop
With Workbooks(Base).Sheets("Commit")
.Activate
.Range(Cells(2, 1), Cells(i, ColFinCommit + 2)).Delete Shift:=xlUp
End With
'------------
'RECOPIE des données de tous les onglets COMMIT des fichiers dans le répertoire vers l'onglet COMMIT du fichier Base
'------------
Lig_Base = 2
Do While fichier <> "" 'tant que le nom du fichier n'est pas vide
If fichier <> Base Then 'on ne traite pas le fichier Base lui même !!
Workbooks.Open (dossier & fichier) 'on ouvre le fichier excel en fournissant le chemin complet donc dossier + fichier
'------------
'Copie de l'onglet Commit du fichier ouvert dans l'onglet Commit du fichier Base
'------------
i = 2
Do While Workbooks(fichier).Sheets("Commit").Cells(i, ColDebCommit) <> ""
' Recopie d'une ligne de l'onglet Commit
For J = ColDebCommit To ColFinCommit
Workbooks(Base).Sheets("Commit").Cells(Lig_Base, J).Value = Workbooks(fichier).Sheets("Commit").Cells(i, J).Value
Next J
' MàJ de 2 colonnes techniques en fin de ligne: fichier d'origine de l'information + date-heure de copie
Workbooks(Base).Sheets("Commit").Cells(Lig_Base, ColFinCommit + 1).Value = fichier
Workbooks(Base).Sheets("Commit").Cells(Lig_Base, ColFinCommit + 2).Value = DtH
i = i + 1
Lig_Base = Lig_Base + 1
Loop
'-------
'ATTENTION: une fois la copie terminée on supprimme les données de l'onglet Commit du fichier traité, on svg et ferme
'-------
With Workbooks(fichier).Sheets("Commit")
.Activate
.Range(Cells(2, 1), Cells(i, ColFinCommit)).Delete Shift:=xlUp
End With
Workbooks(fichier).Save 'sauve du fichier traité avec onglet Commit raz
Workbooks(fichier).Close 'on referme le fichier
End If
fichier = Dir() 'on passe au fichier suivant, c'est ce qui va faire avancer la boucle
Loop
LigBaseFin = Lig_Base - 1 'on conserve la dernière ligne copiée dans l'onglet Commit du fichier Base
Application.DisplayAlerts = True 'ne pas oublier de réactiver les alertes désactivées au début
'-----------
'Tri par Date de l'onglet Commit de la Base - Date de mise à jour
'-----------
Workbooks(Base).Sheets("Commit").Activate
Set Rg1 = Range(Workbooks(Base).Sheets("Commit").Cells(2, ColDebCommit), Workbooks(Base).Sheets("Commit").Cells(LigBaseFin, ColFinCommit + 2))
Set Rg2 = Range(Workbooks(Base).Sheets("Commit").Cells(2, ColTri), Workbooks(Base).Sheets("Commit").Cells(LigBaseFin, ColTri))
Workbooks(Base).Sheets("Commit").Sort.SortFields.Clear
With Workbooks(Base).Sheets("Commit").Sort
.SetRange Rg1
.SortFields.Add Key:=Rg2, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'----------
'Màj de l'onglet principal de la Base à partir de l'onglet Commit de la Base
'-----------
For i = 2 To LigBaseFin
'Recherche ligne de la base complète correspondante à celle de Commit (Ligne I)
VA1 = Workbooks(Base).Sheets("Commit").Cells(i, ColRech).Value 'Clef de recherche
J = 2
Do While Workbooks(Base).Sheets("Liste Complete").Cells(J, 1).Value <> VA1 And J < 100000
J = J + 1
Loop
'Si ligne trouvée dans Liste Complete (ligne J)
If Workbooks(Base).Sheets("Liste Complete").Cells(J, 1).Value = VA1 Then
' Recopie de la ligne entière de l'onglet Commit dans l'onglet principal
L = 1
For K = ColDebCopie To ColFinCommit + 2 'on recopie aussi les 2 colonnes techniques dans l'onglet principal pour traçabilité
Workbooks(Base).Sheets("Liste Complete").Cells(J, L).Value = Workbooks(Base).Sheets("Commit").Cells(i, K).Value
L = L + 1
Next K
Else 'sinon Erreur indiquée dans l'onglet Commit en fin de ligne après les 2 colonnes techniques
Workbooks(Base).Sheets("Commit").Cells(i, ColFinCommit + 3).Value = "NON TROUVE!"
End If
Next i
'------------
'ATTENTION: Remet à Zero l'onglet COMMIT de la Base
'------------
i = 2
Do While Workbooks(Base).Sheets("Commit").Cells(i, ColDebCommit) <> ""
i = i + 1
Loop
With Workbooks(Base).Sheets("Commit")
.Activate
.Range(Cells(2, 1), Cells(i, ColFinCommit + 2)).Delete Shift:=xlUp
End With
Workbooks(Base).Save 'On sauve le fichier principal traité
End Sub
Un fichier par personne, comme le fichier partagé.
Modification de l'onglet liste complete par double clic, ce qui déclenche un userform. Cet userform permet l'enregistrement des données dans l'onglet Liste complete mais aussi dans l'onglet Commit.
Les données de cet onglet sont collecté dans un fichier centralisateur (meme structure) et dans un onglet commit (meme structure). On effectue un tri par date et heure (on ne garde ainsi que les dernières données par magasin), puis on renvoie ces données sur l'onglet Liste Complete. Ensuite un nouveau fichier mis à jours en renvoyé à tous le monde.
On a réussi à faire un code qui fonctionne. Je suis preneur de modification eventuelle, d'améliorations, d'une autre approche...de conseils...etc...
Benoit
https://mon-partage.fr/f/IJed4bJN/
Voici le code que l'on a réussi à faire
Sub MajFichiersIndividuelsCommit()
Dim dossier As String 'variable qui va contenir le chemin du dossier à analyser
Dim fichier As String 'variable qui va contenir le nom du fichier execel à analyser mais sans son chemin complet
Dim feuille As Worksheet 'variable qui va permettre de boucler sur des feuilles Excel
Dim Base As String 'variable qui contient le nom du fichier Base
Dim Rg1 As Range 'pour tri onglet par date
Dim Rg2 As Range 'pour tri onglet par date
Dim ColDebCommit As Integer 'colonne de début des données dans onglet Commit
Dim ColFinCommit As Integer 'Colonne de fin des données dans onglet Commit
Dim ColDebCopie As Integer 'colonne de début des données de l'onglet Commit à copier dans Liste complète
Dim ColTri As Integer 'Colonne de tri dans onglet Commit - DATE DE MAJ -
Dim ColRech As Integer 'Colonne de recherche dans l'onglet Commit
Dim DtH As String 'Date Heure pour traçabilité
DtH = Date & " " & Time
ColDebCommit = 1
ColFinCommit = 32
ColDebCopie = 5
ColTri = 4
ColRech = 5
Application.DisplayAlerts = False 'on désactive les alertes de sécurité
'------------
'ATTention : 1) cette macro ne fonctionne que si le fichier Base est actif (ouvert dans Excel)
' et si tous les fichiers contenant les mises à jour sont, avec le fichier Base, dans le même répertoire
' 2) On ne vide pas l'onglet Commit du fichier Base (fichier principal) en fin de traitement, on peut conserver ainsi
' cet onglet "pour vérification" après le traitement. Par contre il est vidé au début du traitement suivant.
' 3) On vide les onglets Commit des fichiers secondaires après chaque copie dans l'onglet Commit principal
' Cette Macro ne fait pas de copie de sauvegarde de ces fichiers - a rajouter ou à faire à la main avant exécution si besoin de précaution
'Principe: Remise à zero onglet Commit de la base, recopie des onglets Commit de chaque fichier du répertoire dans l'onglet Commit de la base,
' Remise à zéro des ongelts Commit de chaque fichiet et enregistrement, Tri de l'onglet Commit de la base sur la date de màj
' Màj des données de la liste Complete de la base à partir de l'onglet Commit de la Base, sauvegarde du fichier Base
'------------
dossier = ActiveWorkbook.Path & "\" 'dossier du fichier Base
Base = ActiveWorkbook.Name 'Nom du fichier Base
fichier = Dir(dossier & "*.xl??") 'on utilise la fonction DIR lister les fichiers qui ont une extension qui commence par xl ce qui inclu xlsx xlsm ...
'------------
'ATTENTION: Remet à Zero l'onglet COMMIT de la Base
'------------
i = 2
Do While Workbooks(Base).Sheets("Commit").Cells(i, ColDebCommit) <> ""
i = i + 1
Loop
With Workbooks(Base).Sheets("Commit")
.Activate
.Range(Cells(2, 1), Cells(i, ColFinCommit + 2)).Delete Shift:=xlUp
End With
'------------
'RECOPIE des données de tous les onglets COMMIT des fichiers dans le répertoire vers l'onglet COMMIT du fichier Base
'------------
Lig_Base = 2
Do While fichier <> "" 'tant que le nom du fichier n'est pas vide
If fichier <> Base Then 'on ne traite pas le fichier Base lui même !!
Workbooks.Open (dossier & fichier) 'on ouvre le fichier excel en fournissant le chemin complet donc dossier + fichier
'------------
'Copie de l'onglet Commit du fichier ouvert dans l'onglet Commit du fichier Base
'------------
i = 2
Do While Workbooks(fichier).Sheets("Commit").Cells(i, ColDebCommit) <> ""
' Recopie d'une ligne de l'onglet Commit
For J = ColDebCommit To ColFinCommit
Workbooks(Base).Sheets("Commit").Cells(Lig_Base, J).Value = Workbooks(fichier).Sheets("Commit").Cells(i, J).Value
Next J
' MàJ de 2 colonnes techniques en fin de ligne: fichier d'origine de l'information + date-heure de copie
Workbooks(Base).Sheets("Commit").Cells(Lig_Base, ColFinCommit + 1).Value = fichier
Workbooks(Base).Sheets("Commit").Cells(Lig_Base, ColFinCommit + 2).Value = DtH
i = i + 1
Lig_Base = Lig_Base + 1
Loop
'-------
'ATTENTION: une fois la copie terminée on supprimme les données de l'onglet Commit du fichier traité, on svg et ferme
'-------
With Workbooks(fichier).Sheets("Commit")
.Activate
.Range(Cells(2, 1), Cells(i, ColFinCommit)).Delete Shift:=xlUp
End With
Workbooks(fichier).Save 'sauve du fichier traité avec onglet Commit raz
Workbooks(fichier).Close 'on referme le fichier
End If
fichier = Dir() 'on passe au fichier suivant, c'est ce qui va faire avancer la boucle
Loop
LigBaseFin = Lig_Base - 1 'on conserve la dernière ligne copiée dans l'onglet Commit du fichier Base
Application.DisplayAlerts = True 'ne pas oublier de réactiver les alertes désactivées au début
'-----------
'Tri par Date de l'onglet Commit de la Base - Date de mise à jour
'-----------
Workbooks(Base).Sheets("Commit").Activate
Set Rg1 = Range(Workbooks(Base).Sheets("Commit").Cells(2, ColDebCommit), Workbooks(Base).Sheets("Commit").Cells(LigBaseFin, ColFinCommit + 2))
Set Rg2 = Range(Workbooks(Base).Sheets("Commit").Cells(2, ColTri), Workbooks(Base).Sheets("Commit").Cells(LigBaseFin, ColTri))
Workbooks(Base).Sheets("Commit").Sort.SortFields.Clear
With Workbooks(Base).Sheets("Commit").Sort
.SetRange Rg1
.SortFields.Add Key:=Rg2, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'----------
'Màj de l'onglet principal de la Base à partir de l'onglet Commit de la Base
'-----------
For i = 2 To LigBaseFin
'Recherche ligne de la base complète correspondante à celle de Commit (Ligne I)
VA1 = Workbooks(Base).Sheets("Commit").Cells(i, ColRech).Value 'Clef de recherche
J = 2
Do While Workbooks(Base).Sheets("Liste Complete").Cells(J, 1).Value <> VA1 And J < 100000
J = J + 1
Loop
'Si ligne trouvée dans Liste Complete (ligne J)
If Workbooks(Base).Sheets("Liste Complete").Cells(J, 1).Value = VA1 Then
' Recopie de la ligne entière de l'onglet Commit dans l'onglet principal
L = 1
For K = ColDebCopie To ColFinCommit + 2 'on recopie aussi les 2 colonnes techniques dans l'onglet principal pour traçabilité
Workbooks(Base).Sheets("Liste Complete").Cells(J, L).Value = Workbooks(Base).Sheets("Commit").Cells(i, K).Value
L = L + 1
Next K
Else 'sinon Erreur indiquée dans l'onglet Commit en fin de ligne après les 2 colonnes techniques
Workbooks(Base).Sheets("Commit").Cells(i, ColFinCommit + 3).Value = "NON TROUVE!"
End If
Next i
'------------
'ATTENTION: Remet à Zero l'onglet COMMIT de la Base
'------------
i = 2
Do While Workbooks(Base).Sheets("Commit").Cells(i, ColDebCommit) <> ""
i = i + 1
Loop
With Workbooks(Base).Sheets("Commit")
.Activate
.Range(Cells(2, 1), Cells(i, ColFinCommit + 2)).Delete Shift:=xlUp
End With
Workbooks(Base).Save 'On sauve le fichier principal traité
End Sub
Un fichier par personne, comme le fichier partagé.
Modification de l'onglet liste complete par double clic, ce qui déclenche un userform. Cet userform permet l'enregistrement des données dans l'onglet Liste complete mais aussi dans l'onglet Commit.
Les données de cet onglet sont collecté dans un fichier centralisateur (meme structure) et dans un onglet commit (meme structure). On effectue un tri par date et heure (on ne garde ainsi que les dernières données par magasin), puis on renvoie ces données sur l'onglet Liste Complete. Ensuite un nouveau fichier mis à jours en renvoyé à tous le monde.
On a réussi à faire un code qui fonctionne. Je suis preneur de modification eventuelle, d'améliorations, d'une autre approche...de conseils...etc...
Benoit
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
22 mai 2017 à 09:21
22 mai 2017 à 09:21
Bonjour,
difficile à comprendre pour savoir dans quel classeur (source ou base) se trouve ce code
puisque il est écrit
'ATTention : 1) cette macro ne fonctionne que si le fichier Base est actif (ouvert dans Excel)
si la macro est dans "base" ca veut dire que "base" est bien ouvert
que vient faire un userform si on est dans "base" puisqu'il permet de travailler sur les "commit" et la liste complète ---> on peut bricoler, ajouter, modifier la liste dans "base"
si le code est dans chaque fichier source; le code ne sert à rien...
il faut obligatoirement un code spécifique dans les fichiers sources et dans le fichier "base"
a part ca il y a beaucoup de boucles inutiles...
il serait bon d'avoir quelques données (bidon) dans un commit pour travailler efficacement
maintenant, si tu réponds tous les 3 jours à minuit, ne compte pas sur moi
difficile à comprendre pour savoir dans quel classeur (source ou base) se trouve ce code
puisque il est écrit
'ATTention : 1) cette macro ne fonctionne que si le fichier Base est actif (ouvert dans Excel)
si la macro est dans "base" ca veut dire que "base" est bien ouvert
que vient faire un userform si on est dans "base" puisqu'il permet de travailler sur les "commit" et la liste complète ---> on peut bricoler, ajouter, modifier la liste dans "base"
si le code est dans chaque fichier source; le code ne sert à rien...
il faut obligatoirement un code spécifique dans les fichiers sources et dans le fichier "base"
a part ca il y a beaucoup de boucles inutiles...
il serait bon d'avoir quelques données (bidon) dans un commit pour travailler efficacement
maintenant, si tu réponds tous les 3 jours à minuit, ne compte pas sur moi
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
>
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
Modifié le 22 mai 2017 à 10:39
Modifié le 22 mai 2017 à 10:39
Bonjour Michel_m
Je suis (verbe suivre) ce gars en msg prive; lie du fichier que je lui ai propose
https://mon-partage.fr/f/kzlY9kKJ/
Autre proposition possible, ne pas ouvrir les fichiers (ADO), mais il debute (!!!!!). Il a une autre demande en cours
https://forums.commentcamarche.net/forum/affich-34607201-userform#p34609423
Je lui ai donne des pistes a suivre
si tu réponds tous les 3 jours à minuit
Apparemment, il est fort occupe toute le journee......
Je suis (verbe suivre) ce gars en msg prive; lie du fichier que je lui ai propose
https://mon-partage.fr/f/kzlY9kKJ/
Autre proposition possible, ne pas ouvrir les fichiers (ADO), mais il debute (!!!!!). Il a une autre demande en cours
https://forums.commentcamarche.net/forum/affich-34607201-userform#p34609423
Je lui ai donne des pistes a suivre
si tu réponds tous les 3 jours à minuit
Apparemment, il est fort occupe toute le journee......
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
>
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
22 mai 2017 à 13:37
22 mai 2017 à 13:37
Ce qui montre que Benoit_Lyon n' a pas de réponse tout de suite il n'hésite pas à passer en message personnel: triste mentalité
Benoit_Lyon
Messages postés
98
Date d'inscription
vendredi 20 janvier 2017
Statut
Membre
Dernière intervention
13 décembre 2017
1
22 mai 2017 à 13:46
22 mai 2017 à 13:46
Bonjour Messieurs,
Oui en journée c'est pas toujours facile, je suis enseignant donc pas toujours derrière mon ordi (meme si je prefererais), pour expliquer aussi mes "absences", je vais etre Papa très bientot (ce soir, cette nuit...) Donc la disponibilité est plus compliqué ces derniers temps, avec une petite maladie au passage, et une bonne blessure aux mains depuis mardi dernier (Brulures 2ème degrés sur six doigts).
Maintenant que j'ai fini de me justifier, on va pouvoir parler vba.
Pour reprendre :
Meme fichier pour le monde, une personne est en charge de la synchronisation ponctuelle. L'UF sert à changer les données dans l'onglet liste temporaire et à enregistrer ce changement dans Commit.
Lors de la synchro, on "collecte" les données des commit de tous les fichiers à synchroniser, on les intégre au commit du fichier en charge de la synchro.
A partir de là, on effectue un tri afin d'enregistrer que la dernière modif des différents éléments. Puis on les intègre à la liste complete de ce fichier.
On créée un fichier pour chaque utilisateur et on renvoit à chacun et ça recommence.
J'échange déjà avec f894009. Je demande d'autres éléments en plus de ce qu'il me donne afin d'essayer de comprendre les différentes approches possibles.
Donc pour ta demande d'exemple, ouvre le lien que j'ai mis, utilise l'userform. Normalement le Commit va se remplir.
Il faudrait duppliquer ce fichier pour pouvoir utiliser la synchronisation des fichiers.
Je suis à la recherche de conseils, de démarche de simplification pour le code déjà créée.
Me tenant à ta dispo
Merci par avance
Benoit
Oui en journée c'est pas toujours facile, je suis enseignant donc pas toujours derrière mon ordi (meme si je prefererais), pour expliquer aussi mes "absences", je vais etre Papa très bientot (ce soir, cette nuit...) Donc la disponibilité est plus compliqué ces derniers temps, avec une petite maladie au passage, et une bonne blessure aux mains depuis mardi dernier (Brulures 2ème degrés sur six doigts).
Maintenant que j'ai fini de me justifier, on va pouvoir parler vba.
Pour reprendre :
Meme fichier pour le monde, une personne est en charge de la synchronisation ponctuelle. L'UF sert à changer les données dans l'onglet liste temporaire et à enregistrer ce changement dans Commit.
Lors de la synchro, on "collecte" les données des commit de tous les fichiers à synchroniser, on les intégre au commit du fichier en charge de la synchro.
A partir de là, on effectue un tri afin d'enregistrer que la dernière modif des différents éléments. Puis on les intègre à la liste complete de ce fichier.
On créée un fichier pour chaque utilisateur et on renvoit à chacun et ça recommence.
J'échange déjà avec f894009. Je demande d'autres éléments en plus de ce qu'il me donne afin d'essayer de comprendre les différentes approches possibles.
Donc pour ta demande d'exemple, ouvre le lien que j'ai mis, utilise l'userform. Normalement le Commit va se remplir.
Il faudrait duppliquer ce fichier pour pouvoir utiliser la synchronisation des fichiers.
Je suis à la recherche de conseils, de démarche de simplification pour le code déjà créée.
Me tenant à ta dispo
Merci par avance
Benoit
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié le 22 mai 2017 à 15:28
Modifié le 22 mai 2017 à 15:28
Bonjour,
Oui en journée c'est pas toujours facile, je suis enseignant
Vous auriez du le mentionner des le depart. Personnellement, vos horaures de reponses ne me derangent pas, mais pour d'autres c'est aussi "Oui en journée c'est pas toujours facile"
Donc ne soyez pas offusquer par des reponses quelque fois virulentes, suffit de mettre les choses au clair
A+
PS: Michel_m:
Sa demande par msg prive n'a rien a voir avec possibilite de reponse(s) plus rapide
Oui en journée c'est pas toujours facile, je suis enseignant
Vous auriez du le mentionner des le depart. Personnellement, vos horaures de reponses ne me derangent pas, mais pour d'autres c'est aussi "Oui en journée c'est pas toujours facile"
Donc ne soyez pas offusquer par des reponses quelque fois virulentes, suffit de mettre les choses au clair
A+
PS: Michel_m:
Sa demande par msg prive n'a rien a voir avec possibilite de reponse(s) plus rapide
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
>
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
Modifié le 22 mai 2017 à 16:44
Modifié le 22 mai 2017 à 16:44
oui, je suis bien con d'essayer d'aider;
alors comme c'est ta seule occupation de la journée comme le montre tout tes messages.......
alors comme c'est ta seule occupation de la journée comme le montre tout tes messages.......
Benoit_Lyon
Messages postés
98
Date d'inscription
vendredi 20 janvier 2017
Statut
Membre
Dernière intervention
13 décembre 2017
1
22 mai 2017 à 17:41
22 mai 2017 à 17:41
Bonjour Michel,
Pouvez vous nous faire part de vos connaissances ?
Je vais essayer de faire des efforts sur le temps de réponses.
Maintenant Messieurs, si en plus vous pouviez me donner une piste pour que je puisse apprendre à faire des boucles, je suis preneur.
Merci à vous deux
Pouvez vous nous faire part de vos connaissances ?
Je vais essayer de faire des efforts sur le temps de réponses.
Maintenant Messieurs, si en plus vous pouviez me donner une piste pour que je puisse apprendre à faire des boucles, je suis preneur.
Merci à vous deux
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
Modifié le 22 mai 2017 à 18:28
Modifié le 22 mai 2017 à 18:28
Re,
Dans les exemples de fichiers que je vous ai donnes, y a des boucles for next, vois pas ce que qu'il faut de plus
Y a aussi une boucle en Do While Loop
Dans les exemples de fichiers que je vous ai donnes, y a des boucles for next, vois pas ce que qu'il faut de plus
Y a aussi une boucle en Do While Loop
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Benoit_Lyon
Messages postés
98
Date d'inscription
vendredi 20 janvier 2017
Statut
Membre
Dernière intervention
13 décembre 2017
1
22 mai 2017 à 21:16
22 mai 2017 à 21:16
Il faut que je les relise et je reviens vers vous pour des questions.
Merci.
Je vais m'occuper de ma nouvelle née qui a juste deux heures.
Bonne soirée
Merci.
Je vais m'occuper de ma nouvelle née qui a juste deux heures.
Bonne soirée
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
23 mai 2017 à 06:35
23 mai 2017 à 06:35
Longue et heureuse vie à elle :o)
Benoit_Lyon
Messages postés
98
Date d'inscription
vendredi 20 janvier 2017
Statut
Membre
Dernière intervention
13 décembre 2017
1
>
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
24 mai 2017 à 09:23
24 mai 2017 à 09:23
Merci à vous