Vba, somme suivant mois en cours Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
Alex777f
Membre habitué
Membre habitué
Messages : 73
Appréciation reçue : 1
Inscrit le : 1 janvier 2019
Version d'Excel : 2010

Message par Alex777f » 5 janvier 2019, 09:47

8[] ca marche!
Merci.
Une derniere question, tu m'as conseillé d'utiliser integer comme type de variable pour eviter des erreurs.
Sur le fichier original, j'ai un code qui cherche dans une colonne date identique a celle la, mais par moments ca met imcompatibilité de type et par moments (3 ou 5 minutes après) quand je reessai sans modif ca marche. Jy comprend rien. Le type de variable peut faire ca?
R
Rag02700
Membre fidèle
Membre fidèle
Messages : 290
Appréciations reçues : 4
Inscrit le : 26 décembre 2017
Version d'Excel : 2010

Message par Rag02700 » 5 janvier 2019, 09:57

La valeur max d'une variable Byte c'est 255.
Dans ton cas :
la colonne max est la 182 donc on est dans la bonne tranche.
182 colonnes sur 6 mois.
Maintenant admettons que tu décides de mettre 1 an sur une feuille cela donne (182 -2)*2 = 360
360 est au dessus des 255 donc cela va générer une erreur.
Il faut par conséquent utiliser une variable type Integer qui elle accepte les valeurs jusque 30 000 environ.

Pour ton problème, mets le code dans ton post que je regarde.
Avatar du membre
Alex777f
Membre habitué
Membre habitué
Messages : 73
Appréciation reçue : 1
Inscrit le : 1 janvier 2019
Version d'Excel : 2010

Message par Alex777f » 5 janvier 2019, 10:16

Voila le code :
Private Sub CommandButton7_Click()
Dim Lig As Long, Col As Long, r As Range, Rest&
Rest = Application.WorksheetFunction.VLookup(ComboBox1, Sheets("STOCK").Range("A2:D29"), 4, False)
If Me.TextBox86 = "" Or TextBox82 = "" Or TextBox1 = "" Or ComboBox1 = "" Then
MsgBox "Donn�e(s) manquante(s)"
Exit Sub
End If
If Me.TextBox82 > Rest Then
MsgBox "autoris�e"
Exit Sub
End If
With Sheets(Me.ComboBox1.Value)
On Error Resume Next
Lig = Application.Match(Val(Me.TextBox86), Sheets(Me.ComboBox1.Value).[noms], 0)
Col = Application.Match(Me.TextBox1, Application.Transpose(Sheets(Me.ComboBox1.Value).[dates].Value), 0)
If Err = 0 Then
With Application.Index(.[tableau], Lig, Col)
.Value = Me.TextBox82.Value
.ClearComments
If Me.TextBox85.Value <> "" Then .AddComment: .Comment.Text Text:=Me.TextBox85.Value
End With
Else
MsgBox "Donn�e(s) incorrecte(s)"
End If
End With
TextBox82 = ""
TextBox85 = ""
ComboBox1 = ""
End Sub

Ca coince au niveau de Col = Application.Match(Me.TextBox1, Application.Transpose(Sheets(Me.ComboBox1.Value).[dates].Value), 0)

En fait dans un fichier identique a celui utilisé pr les somme, on cherche en fonction du nom, la date demandée et on ecrit dans la cellule correspondante.
Parfois ca marche, parfois non et sans aucune modif ca remarche encore. je suis perdu
R
Rag02700
Membre fidèle
Membre fidèle
Messages : 290
Appréciations reçues : 4
Inscrit le : 26 décembre 2017
Version d'Excel : 2010

Message par Rag02700 » 5 janvier 2019, 10:20

Quand l'erreur apparaît c'est qu'elle ligne qui est surlignée ?
Avatar du membre
Alex777f
Membre habitué
Membre habitué
Messages : 73
Appréciation reçue : 1
Inscrit le : 1 janvier 2019
Version d'Excel : 2010

Message par Alex777f » 5 janvier 2019, 10:23

Cette ligne
Col = Application.Match(Me.TextBox1, Application.Transpose(Sheets(Me.ComboBox1.Value).[dates].Value), 0)
R
Rag02700
Membre fidèle
Membre fidèle
Messages : 290
Appréciations reçues : 4
Inscrit le : 26 décembre 2017
Version d'Excel : 2010

Message par Rag02700 » 5 janvier 2019, 10:36

J'ai du mal à comprendre ce que tu fais avec cette ligne.
Je pourrai pas t'aider avec juste le code :bof:
Tu peux faire un fichier exemple ?
Avatar du membre
Alex777f
Membre habitué
Membre habitué
Messages : 73
Appréciation reçue : 1
Inscrit le : 1 janvier 2019
Version d'Excel : 2010

Message par Alex777f » 5 janvier 2019, 11:09

Actuellement je ne peux pas en faire. Mais j'en fais dès que possible
Avatar du membre
Alex777f
Membre habitué
Membre habitué
Messages : 73
Appréciation reçue : 1
Inscrit le : 1 janvier 2019
Version d'Excel : 2010

Message par Alex777f » 5 janvier 2019, 23:50

Bonsoir le forum
Je reactive ce poste parceque j'ai une erreur sur mon fichier.

Lorsque je lance l'userform en etant sur une des feuille (TAV, VAT ou TAT) ca marche nickel, mais lorsque je me positionne sur la feuille interface, j'ai une erreur. J'ai l'impression que la procedure recherche les données sur la feuille active et la je ne sais pas comment corriger.
Rag, du coup j'ai pas eu besoin de faire un autre fichier car il s'agit du meme comportement avec le code envoyé ce matin.
Possible de m'aider a resoudre ce probleme?
Merci d'avance
TEST MOIS_calcul .xlsm
(50.08 Kio) Téléchargé 7 fois
R
Rag02700
Membre fidèle
Membre fidèle
Messages : 290
Appréciations reçues : 4
Inscrit le : 26 décembre 2017
Version d'Excel : 2010

Message par Rag02700 » 6 janvier 2019, 11:51

Hello,

Le fichier en retour.

RaG
TEST MOIS_calcul .xlsm
(52.68 Kio) Téléchargé 6 fois
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message