Problème Code BVA implémentation automatique

descamps16

XLDnaute Nouveau
Bonjour,

Je reviens vers vous concernant un problème de VBA.

J'ai une base de donnée que j'aimerai remplir automatiquement en appuyant sur un bouton. Le premier bouton fonctionne parfaitement. En revanche lorsque j’exécute mon second bouton (CA) ça m'affiche une erreur 13.

Avez-vous une idée d’où peux venir mon problème?


En vous remerciant de votre aide toujours aussi précieuse


Amicalement

Vincent
 

Pièces jointes

  • Maraîcher.xlsm
    149.1 KB · Affichages: 52
  • Mario.XLS
    33.5 KB · Affichages: 51

Zon

XLDnaute Impliqué
Re : Problème Code BVA implémentation automatique

Salut,

, erreur 13 c'est un pb de variables mais comme tu déclares aucune variable difficile de trouver une solution. et le classeur lopin il est où ?


tu as dateevent et dateyvent ...

A+++
 

descamps16

XLDnaute Nouveau
Re : Problème Code BVA implémentation automatique

Bonjour zon!

Merci pour cette réponse rapide! Le fichier n'était effectivement pas propre.

Voici mon problème plus simplifié : Programme VBA.jpg
 

Pièces jointes

  • Programme VBA.jpg
    Programme VBA.jpg
    61.9 KB · Affichages: 65
  • Programme VBA.jpg
    Programme VBA.jpg
    61.9 KB · Affichages: 63

descamps16

XLDnaute Nouveau
Re : Problème Code BVA implémentation automatique

Rebonjour,

Ci-joint, les fichiers avec une explication de mon problème

Merci pour votre réponse

Amicalement

Vincent
 

Pièces jointes

  • logiciel.XLS
    28.5 KB · Affichages: 48
  • Tableau.xlsx
    12.7 KB · Affichages: 48
  • logiciel.XLS
    28.5 KB · Affichages: 51
  • Tableau.xlsx
    12.7 KB · Affichages: 50
  • logiciel.XLS
    28.5 KB · Affichages: 50
  • Tableau.xlsx
    12.7 KB · Affichages: 45

Zon

XLDnaute Impliqué
Re : Problème Code BVA implémentation automatique

Salut,

Hey Jean Marie, je ne l'avais pas oublié ,

un fil avec 2 méthodes pour les doublons

moi je passe par l'ancienne méthode:

Code:
Const NomFichier$ = "logiciel.xls"
Const NomFeuille$ = "A"

Sub HorsTaxe()
Dim T, Temp

  With Workbooks(NomFichier).Sheets(NomFeuille)
    T = Range(.[A2 ], .[D65536].End(xlUp))
  End With

'On récupères les doublons de des comptes
'puis des fonds de caisses

Temp = Recap(T, Entetes(RecupDoublons(T, 1), RecupDoublons(T, 4)))

[C7].Resize(UBound(Temp), UBound(Temp, 2)) = Temp

End Sub

Function RecupDoublons(T, ByVal ColT As Byte) 'Zon
Dim I&, J&, Tablo As New Collection, Temp()
  
  For I = LBound(T, 1) To UBound(T, 1)
    On Error Resume Next
    Tablo.Add T(I, ColT), CStr(T(I, ColT))
    If Err = 0 Then
      ReDim Preserve Temp(J)
      Temp(J) = T(I, ColT)
      J = J + 1
    End If
  Next I
  RecupDoublons = Temp
End Function

Function Entetes(T1, T2)
  Dim Temp()
  
  ReDim Temp(1 To UBound(T1) + 2, 1 To UBound(T2) + 2)
  
  For I = 0 To IIf(UBound(T1) > UBound(T2), UBound(T1) + 1, UBound(T2) + 1)
On Error Resume Next
    Temp(I + 2, 1) = T1(I)
    Temp(1, I + 2) = T2(I)
  Next I
On Error GoTo 0
  Entetes = Temp
End Function

Function Recap(T, Temp)
Dim I&, J&, K&
  
  For I = LBound(T) To UBound(T)
    For J = LBound(Temp) To UBound(Temp)
      If T(I, 1) = Temp(J, 1) Then
        For K = LBound(Temp, 2) To UBound(Temp, 2)
          If T(I, 4) = Temp(1, K) Then
            Temp(J, K) = Temp(J, K) + T(I, 2)
          End If
        Next K
      End If
    Next J
  Next I

Recap = Temp
End Function

A+++
 

ChTi160

XLDnaute Barbatruc
Re : Problème Code BVA implémentation automatique

Bonjour descamps16
Bonjour Le Forum
Bonjour Zon

Arff ,,, Oui du très beau travail , à l'ancienne , comme tu le dis.
ne sachant exactement comment cela fonctionne j'ai inclus , comme tu as pu le voir , l'ouverture du Fichier
Bonne journée
Amicalement
Jean Marie
 

descamps16

XLDnaute Nouveau
Re : Problème Code BVA implémentation automatique

Quel travail admirable!!! C'est vraiment génial

J'aime beaucoup l'ouverture du fichier!!! Je crois que je vais mettre cette instruction sur bon nombre de mes documents...

Encore un grand merci et bravo à vous

Amicalement

Vincent
 
Dernière édition:

descamps16

XLDnaute Nouveau
Re : Problème Code BVA implémentation automatique

Une dernière question :

Certains mois j'ai des comptes où des fonds de caisse qui ne sont pas utilisés et donc n'apparaissent pas. J'ai donc un nombre de lignes et de colonnes variables. Le problème est que j'ai besoin de faire des calculs avec ce tableau à double entrée.
Comment peut-on faire pour fixer les lignes et les colonnes? Par exemple B7 pour 706001, B8 POUR 707602...

Encore merci

Amicalement

Vincent
 

ChTi160

XLDnaute Barbatruc
Re : Problème Code BVA implémentation automatique

Bonjour Vincent
Bonjour le Fil
Bonjour Le Forum

arff peux tu mettre un exemple de ce qui peut arriver (ce que tu désires selon les cas)
y a t'il une logique dans tout cela (tri des numéros de comptes etc)
car si tu le veux on peux adapter le code est ainsi effacer ce qui est en place pour y mettre ce qui est apparent dans le fichier source
as tu essaie les procédures pour voir si cela répond a tes besoins car la procédure que j'ai proposé ne tiens compte et s'adapte qu' aux données présentent
enfin essais de nous éclairer
Merci par avance
Bonne journée
Amicalement
Jean marie
 

Zon

XLDnaute Impliqué
Re : Problème Code BVA implémentation automatique

Bonsoir,

Jean Marie quelle horreur ce sumprod dan sle cas présent, fonction Recap ou ton tabrecap le font.

Par contre, Vincent si on fixe les Num de compte dans la feuille1 "C7:C20" par exemple, tu peux adapter facilement

comme suit

Temp = Recap(T, Entetes([C7:C20], RecupDoublons(T, 4)


Enfin Jean Marie, on peut gérér l'erreur si on a pas logiciel.xls dans le même répertoire, ça peut servfir à Vincent sur d'autres applis.

Code:
Function OuvF$()
  OuvF = Application.GetOpenFilename(("Fichiers XLS (*.xls), *.xls"), , "Parcourir...")
End Function

on error resume next
Set WkbSource = Workbooks.Open(ThisWorkbook.Path & "\" & NomFichier)
if err<>0 then
err.clear
Set WkbSource = Workbooks.Open(ouvf) 
if err<>0 then msgbox "opération annulée":exit sub

A+++
 

ChTi160

XLDnaute Barbatruc
Re : Problème Code BVA implémentation automatique

Bonjour Vincent
Bonjour le Fil "Zon"
Bonjour le forum

Arfff j’espère que je ne t'ai pas empêché de Dormir LOL,LOL
J'aime bien Bidouiller dans mon Coin Lol(ADO ,Excel4 etc etc )

Pour ce qui est de tes propositions, effectivement
si Vincent met en forme préalablement , La Feuille Cible avec les numéros de comptes à prendre en compte , cela peut être la solution
Bonne journée
Amicalement
Jean Marie
 

Discussions similaires

Réponses
8
Affichages
346

Statistiques des forums

Discussions
312 671
Messages
2 090 757
Membres
104 653
dernier inscrit
elisabete_custodio