Automatisation tableau excel
Résolu/Fermé
jc80
Messages postés
4242
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
-
9 mai 2014 à 10:20
Le Pingou Messages postés 12182 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 7 novembre 2024 - 22 mai 2014 à 17:25
Le Pingou Messages postés 12182 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 7 novembre 2024 - 22 mai 2014 à 17:25
A voir également:
- Automatisation tableau excel
- Tableau croisé dynamique - Guide
- Liste déroulante excel - Guide
- Code ascii tableau - Guide
- Trier tableau excel - Guide
- Tableau word - Guide
49 réponses
Le Pingou
Messages postés
12182
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
7 novembre 2024
1 448
Modifié par Le Pingou le 14/05/2014 à 10:59
Modifié par Le Pingou le 14/05/2014 à 10:59
Bonjour jc80,
Essayer cette version sans le formulaire [U_Calandat] et dans le [frmSaisie] le remplacement de la zone de texte date par le contrôle [DTPiker2].
Le fichier modifié : https://www.cjoint.com/?3Eok6bqQMcW
Salutations.
Le Pingou
Essayer cette version sans le formulaire [U_Calandat] et dans le [frmSaisie] le remplacement de la zone de texte date par le contrôle [DTPiker2].
Le fichier modifié : https://www.cjoint.com/?3Eok6bqQMcW
Salutations.
Le Pingou
jc80
Messages postés
4242
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
14 mai 2014 à 13:39
14 mai 2014 à 13:39
Bonjour Le Pingou
Merci pour toutes tes réponses et pour ta patience.
Pour le calandar le problème est résolu,cela fonctionne correctement.
Je viens de m'apercevoir qu'un autre problème existe :
Dans la feuille saisie tu as les colonnes ENTRÉE et SORTIE,si l'on rentre une saisie dans la colonne ENTRÉE pas de problème elle figure bien dans le tableau concerné.
En ce qui concerne la colonne SORTIE le montant ne figure pas dans le tableau
il y a simplement un 0 au lieu du montant.
Merci pour toutes tes réponses et pour ta patience.
Pour le calandar le problème est résolu,cela fonctionne correctement.
Je viens de m'apercevoir qu'un autre problème existe :
Dans la feuille saisie tu as les colonnes ENTRÉE et SORTIE,si l'on rentre une saisie dans la colonne ENTRÉE pas de problème elle figure bien dans le tableau concerné.
En ce qui concerne la colonne SORTIE le montant ne figure pas dans le tableau
il y a simplement un 0 au lieu du montant.
Le Pingou
Messages postés
12182
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
7 novembre 2024
1 448
14 mai 2014 à 13:58
14 mai 2014 à 13:58
Bonjour,
Sur la dernière version il me semble que c'est correct, j'ai réalisé 2 essais, voir les 2 dernières lignes ........ !
Ou y-a-t-il un autre problème ou sur l'autre version .... ?
Sur la dernière version il me semble que c'est correct, j'ai réalisé 2 essais, voir les 2 dernières lignes ........ !
Ou y-a-t-il un autre problème ou sur l'autre version .... ?
jc80
Messages postés
4242
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
14 mai 2014 à 22:04
14 mai 2014 à 22:04
Bonsoir Le Pingou
Tout fonctionne pour le mieux.
J'ai apporté une modification dans la feuille DIV 1,j'ai ajouté une colonne dans le tableau (Dépénses).
Donc en colonne A date en B libéllé en C mode de paiement en D recettes en
E Dépenses et F colonnes de couleur pour séparer les tableaux.
Ci-dessous ton code VBA peux tu me dire ce que je dois modifier pour que le
tableau se copie quand je rentre un nouveau compte;
Cela ne fonctionne plus puisqu'il y a 6 colonnes au lieu de 5
Option Explicit
Sub crernvcompte()
Dim pas As Integer, decol As Integer, deli As Integer
Dim cpt As Variant
pas = 5
For Each cpt In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
If WorksheetFunction.CountIf(Sheets("Div-1").Rows(1), cpt) = 0 Then
' MsgBox "Nouveau compte " & cpt
With Sheets("Div-1")
decol = .Cells(1, Columns.Count).End(xlToLeft).Column
deli = .Cells(Rows.Count, decol).End(xlUp).Row
.Range(.Cells(1, decol), .Cells(deli, (decol + pas - 1))).Copy
.Range(.Cells(1, (decol + pas)), .Cells(1, (decol + pas))).PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
.Range(.Cells(1, (decol + pas)), .Cells(1, (decol + pas))).PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
.Range(.Cells(1, (decol + pas)), .Cells(1, (decol + pas))).Value = cpt.Value
End With
End If
Next cpt
End Sub
Sub testaddresse()
Dim pas As Integer, decol As Integer, deli As Integer
Dim adr1, adr2
pas = 5
decol = Cells(1, Columns.Count).End(xlToLeft).Column
deli = Cells(Rows.Count, decol).End(xlUp).Row
adr1 = Range(Cells(1, decol), Cells(deli, (decol + pas - 1))).Address
adr2 = Range(Cells(1, decol), Cells(deli, (decol + pas - 1))).Offset(0, 5).Address
End Sub
Nous sommes près du résultat escompté,
Merci encore
Cordialement
Tout fonctionne pour le mieux.
J'ai apporté une modification dans la feuille DIV 1,j'ai ajouté une colonne dans le tableau (Dépénses).
Donc en colonne A date en B libéllé en C mode de paiement en D recettes en
E Dépenses et F colonnes de couleur pour séparer les tableaux.
Ci-dessous ton code VBA peux tu me dire ce que je dois modifier pour que le
tableau se copie quand je rentre un nouveau compte;
Cela ne fonctionne plus puisqu'il y a 6 colonnes au lieu de 5
Option Explicit
Sub crernvcompte()
Dim pas As Integer, decol As Integer, deli As Integer
Dim cpt As Variant
pas = 5
For Each cpt In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)
If WorksheetFunction.CountIf(Sheets("Div-1").Rows(1), cpt) = 0 Then
' MsgBox "Nouveau compte " & cpt
With Sheets("Div-1")
decol = .Cells(1, Columns.Count).End(xlToLeft).Column
deli = .Cells(Rows.Count, decol).End(xlUp).Row
.Range(.Cells(1, decol), .Cells(deli, (decol + pas - 1))).Copy
.Range(.Cells(1, (decol + pas)), .Cells(1, (decol + pas))).PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
.Range(.Cells(1, (decol + pas)), .Cells(1, (decol + pas))).PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
.Range(.Cells(1, (decol + pas)), .Cells(1, (decol + pas))).Value = cpt.Value
End With
End If
Next cpt
End Sub
Sub testaddresse()
Dim pas As Integer, decol As Integer, deli As Integer
Dim adr1, adr2
pas = 5
decol = Cells(1, Columns.Count).End(xlToLeft).Column
deli = Cells(Rows.Count, decol).End(xlUp).Row
adr1 = Range(Cells(1, decol), Cells(deli, (decol + pas - 1))).Address
adr2 = Range(Cells(1, decol), Cells(deli, (decol + pas - 1))).Offset(0, 5).Address
End Sub
Nous sommes près du résultat escompté,
Merci encore
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le Pingou
Messages postés
12182
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
7 novembre 2024
1 448
15 mai 2014 à 09:40
15 mai 2014 à 09:40
Bonjour,
Eh bien, dans la procédure [crernvcompte] vous modifier la valeur de la variable [pas =5] en [pas=6].
Eh bien, dans la procédure [crernvcompte] vous modifier la valeur de la variable [pas =5] en [pas=6].
jc80
Messages postés
4242
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
15 mai 2014 à 13:43
15 mai 2014 à 13:43
Bonjour
C'est ce que j'ai fait cela ne fonctionne pas dans le code la phrase suivante
apparait en jaune:
.Range(.Cells(1, (decol + pas)), .Cells(1, (decol + pas))).PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Cordialement
C'est ce que j'ai fait cela ne fonctionne pas dans le code la phrase suivante
apparait en jaune:
.Range(.Cells(1, (decol + pas)), .Cells(1, (decol + pas))).PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Cordialement
jc80
Messages postés
4242
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
15 mai 2014 à 13:53
15 mai 2014 à 13:53
Le Pingou
Messages postés
12182
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
7 novembre 2024
1 448
Modifié par Le Pingou le 15/05/2014 à 16:42
Modifié par Le Pingou le 15/05/2014 à 16:42
Bonjour,
Eh bien il y a des cellules fusionnées en ligne 34 dès la colonne [AQ] ce qui est la source du problème.
Vous supprimez la fusion de ces cellule, dès colonne [[AQ34 :IV34] et tout rentrera dans l'ordre.
Salutations.
Le Pingou
Eh bien il y a des cellules fusionnées en ligne 34 dès la colonne [AQ] ce qui est la source du problème.
Vous supprimez la fusion de ces cellule, dès colonne [[AQ34 :IV34] et tout rentrera dans l'ordre.
Salutations.
Le Pingou
jc80
Messages postés
4242
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
15 mai 2014 à 17:19
15 mai 2014 à 17:19
Re bonjour
merci encore
le problème des cellules fusionnées est résolu
Tout semble maintenant fonctionner à merveilles
Bonne continuation
Cordialement
ps: je passe en résolu
merci encore
le problème des cellules fusionnées est résolu
Tout semble maintenant fonctionner à merveilles
Bonne continuation
Cordialement
ps: je passe en résolu
Le Pingou
Messages postés
12182
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
7 novembre 2024
1 448
15 mai 2014 à 17:31
15 mai 2014 à 17:31
Merci, c'est parfait.
Salutations.
Le Pingou
Salutations.
Le Pingou
jc80
Messages postés
4242
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
18 mai 2014 à 21:55
18 mai 2014 à 21:55
Bonsoir Le Pingou
https://www.cjoint.com/?DEsvZh7NhZ9
Dans le dernier fichier que vous m'avez renvoyé aprés modification pour consulter
les comptes,il y a un problème lors de la création d'un nouveau compte,il n'y a que la dernière colonne qui s'installe au lieu de la totalité.
La totalité des comptes a installer est d'environ 200
Cordialement
https://www.cjoint.com/?DEsvZh7NhZ9
Dans le dernier fichier que vous m'avez renvoyé aprés modification pour consulter
les comptes,il y a un problème lors de la création d'un nouveau compte,il n'y a que la dernière colonne qui s'installe au lieu de la totalité.
La totalité des comptes a installer est d'environ 200
Cordialement
Le Pingou
Messages postés
12182
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
7 novembre 2024
1 448
18 mai 2014 à 22:13
18 mai 2014 à 22:13
Bonjour,
Concernant :
La totalité des comptes à installer est d'environ 200
Une feuille Excel en version xls (1996-2003) comporte 256 colonnes donc au maximum 42 comptes.
Pour l'autre problème je vais regarder plus tard.
Concernant :
La totalité des comptes à installer est d'environ 200
Une feuille Excel en version xls (1996-2003) comporte 256 colonnes donc au maximum 42 comptes.
Pour l'autre problème je vais regarder plus tard.
jc80
Messages postés
4242
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
18 mai 2014 à 22:20
18 mai 2014 à 22:20
Bonsoir
ok merci pour votre réponse
Pour excel je suis en version 2007
Cordialement
ok merci pour votre réponse
Pour excel je suis en version 2007
Cordialement
Le Pingou
Messages postés
12182
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
7 novembre 2024
1 448
18 mai 2014 à 22:51
18 mai 2014 à 22:51
Bonjour,
Il ne faut pas mélanger, votre fichier est une extension [xls] donc pas de 2007 mais de (1997-2003), par contre votre version Excel est de 2007.
Ce qui limite vos comptes à 42 par feuille.
Salutations.
Le Pingou
Il ne faut pas mélanger, votre fichier est une extension [xls] donc pas de 2007 mais de (1997-2003), par contre votre version Excel est de 2007.
Ce qui limite vos comptes à 42 par feuille.
Salutations.
Le Pingou
Le Pingou
Messages postés
12182
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
7 novembre 2024
1 448
18 mai 2014 à 22:26
18 mai 2014 à 22:26
Bonjour,
Eh bien c'est normale que cela ne fonctionne plus car vous avez modifié la structure de vos comptes en supprimant le total en bas de plage du compte (anciennement ligne 34) et vous l'avez insérée dans la ligne des titre de compte ce qui fausse la recherche de la procédure.
Eh bien c'est normale que cela ne fonctionne plus car vous avez modifié la structure de vos comptes en supprimant le total en bas de plage du compte (anciennement ligne 34) et vous l'avez insérée dans la ligne des titre de compte ce qui fausse la recherche de la procédure.
jc80
Messages postés
4242
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
19 mai 2014 à 10:04
19 mai 2014 à 10:04
Bonjour
Merci pour votre réponse cela fonctionne à nouveau.
Cordialement
Merci pour votre réponse cela fonctionne à nouveau.
Cordialement
Le Pingou
Messages postés
12182
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
7 novembre 2024
1 448
19 mai 2014 à 11:11
19 mai 2014 à 11:11
Bonjour,
Merci pour l'information.
J'ai une petite remarque, au lieu d'avoir une multitude de formule dans la feuille des comptes (ligne 3 à 180) probablement utilisez pour 10 lignes par année en moyenne, vous avez réalisé un formulaire de saisie et il serait judicieux dans profiter pour renseigner directement le compte concernée en même temps que vous renseignez la feuille de saisie ....Oui / Non!
Merci pour l'information.
J'ai une petite remarque, au lieu d'avoir une multitude de formule dans la feuille des comptes (ligne 3 à 180) probablement utilisez pour 10 lignes par année en moyenne, vous avez réalisé un formulaire de saisie et il serait judicieux dans profiter pour renseigner directement le compte concernée en même temps que vous renseignez la feuille de saisie ....Oui / Non!
jc80
Messages postés
4242
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
19 mai 2014 à 13:43
19 mai 2014 à 13:43
re bonjour
C'est possible ,mais là je ne sais pas faire.
j'ai 67 ans et mes connaissances en informatique sont assez limitées.
Me suis mis a l'informatique il n'y a que 5 ans depuis ma retraite.
Cordialement
C'est possible ,mais là je ne sais pas faire.
j'ai 67 ans et mes connaissances en informatique sont assez limitées.
Me suis mis a l'informatique il n'y a que 5 ans depuis ma retraite.
Cordialement
Le Pingou
Messages postés
12182
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
7 novembre 2024
1 448
19 mai 2014 à 17:06
19 mai 2014 à 17:06
Bonjour,
Merci de la réponse.
De mon côté j'ai un peu plus que vous et l'informatique est à l'inverse de mon domaine.
Mais bon tout s'apprend avec un peu de temps et de la curiosité.
L'essentielle est que votre application vous apporte les résultats que vous souhaité avoir.
Petit conseil, enregistrer votre classeur en version [xlsm] (version de MSO 2007) est les limites de ligne et colonne passeront de (256/65'538 à 16'384 / 1'048'576) ce qui permettra d'avoir les 200 comptes sur la même feuille.
Merci de la réponse.
De mon côté j'ai un peu plus que vous et l'informatique est à l'inverse de mon domaine.
Mais bon tout s'apprend avec un peu de temps et de la curiosité.
L'essentielle est que votre application vous apporte les résultats que vous souhaité avoir.
Petit conseil, enregistrer votre classeur en version [xlsm] (version de MSO 2007) est les limites de ligne et colonne passeront de (256/65'538 à 16'384 / 1'048'576) ce qui permettra d'avoir les 200 comptes sur la même feuille.
jc80
Messages postés
4242
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
19 mai 2014 à 17:58
19 mai 2014 à 17:58
Re bonjour
Comment procéder pour limiter les formules trop importantes comme vous l'expliquer un peu plus au-dessus?
Cordialement
Comment procéder pour limiter les formules trop importantes comme vous l'expliquer un peu plus au-dessus?
Cordialement
Le Pingou
Messages postés
12182
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
7 novembre 2024
1 448
19 mai 2014 à 21:48
19 mai 2014 à 21:48
Bonjour,
Eh bien lorsque vous réalisez une nouvelle saisie et que vous la valider (cmde [AJOUTER]) la procédure [CmdAjouter_Click] insère les données dans la feuille de saisie, on profite de l'occasion en ajoutant une instruction qui va mettre les valeurs adéquate dans le bon compte.
Je vous fais cela pour demain avec explication des lignes de code.
Eh bien lorsque vous réalisez une nouvelle saisie et que vous la valider (cmde [AJOUTER]) la procédure [CmdAjouter_Click] insère les données dans la feuille de saisie, on profite de l'occasion en ajoutant une instruction qui va mettre les valeurs adéquate dans le bon compte.
Je vous fais cela pour demain avec explication des lignes de code.
Le Pingou
Messages postés
12182
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
7 novembre 2024
1 448
20 mai 2014 à 14:22
20 mai 2014 à 14:22
Bonjour,
La proposition, sans les formules en feuille [Div-1, directement depuis le formulaire de saisie.
Votre fichier, en version 2007 (xlsm) : https://www.cjoint.com/?3EuouWUarh2
La proposition, sans les formules en feuille [Div-1, directement depuis le formulaire de saisie.
Votre fichier, en version 2007 (xlsm) : https://www.cjoint.com/?3EuouWUarh2
jc80
Messages postés
4242
Date d'inscription
mardi 5 février 2013
Statut
Membre
Dernière intervention
25 février 2019
1 424
20 mai 2014 à 15:42
20 mai 2014 à 15:42
Bonjour Le Pingou,
Un souci quand j'effectue une opération (feuille saisie colonne entrée) j'ai un bug:
erreur d'execution 13 incompatibilité de type
voir ci-dessous copie d'écran
https://www.cjoint.com/c/DEupKOtQvGh
et pour une écriture en colonne sortie
c'est cette ligne qui se met en jaune
.Cells(delis, 5).Value = CDbl(Me.TxtEntrée)
Cordialement
Un souci quand j'effectue une opération (feuille saisie colonne entrée) j'ai un bug:
erreur d'execution 13 incompatibilité de type
voir ci-dessous copie d'écran
https://www.cjoint.com/c/DEupKOtQvGh
et pour une écriture en colonne sortie
c'est cette ligne qui se met en jaune
.Cells(delis, 5).Value = CDbl(Me.TxtEntrée)
Cordialement