Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Formule matricielle avec données incrémentées par VBA

CaptainMerlux

XLDnaute Nouveau
Bonjour,

Je cherche une solution à un problème tout simple mais dont je ne trouve pas de réponse concrète sur les forums.

Dans une première feuille ("Chrono audit chantier") j'ai un tableau qui s'incrémente avec un userform grâce à des codes VBA. Voici les informations qui se trouve dans cette feuille :
- Colonne C : Les dates de réalisation d'inspection
- Colonne D : Les entreprises inspectées.

Dans une seconde feuille ("Entreprises Auditées"), je retrouve mes entreprises auditées en Colonne A et en Colonne B la date de la dernière date de réalisation d'inspection. Dans cette colonne B, j'ai rentré la formule matricielle suivante : =MAX(SI('Chrono Audit Chantier'!D$4$353=A5;'Chrono Audit Chantier'!C$4:C$353)).

Cette formule fonctionne si je rentre manuellement les dates dans la colonne C mais pas si elles s'incrémentent depuis mon userform.

Merci de votre aide.
 

CaptainMerlux

XLDnaute Nouveau
Voici le code VBA correspondant à la donnée date :

Private Sub Tb2_AfterUpdate()
On Error GoTo Messagerreur
Tb2 = Format(Tb2, "short date")
Exit Sub
Messagerreur:
MsgBox ("le format de la date n'est pas correct, le format de date doit être Jour/Mois/Année")
Tb2 = Empty

End Sub
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonsoir,

Les lignes que vous nous donnez sont les lignes qui concernent la vérification après la saisie de la date, pas la manière dont vous l'enregistrez dans une cellule de feuille de calcul.

Exemple :

VB:
    If IsDate(tb2.Text) Then

        Sheets("Feuil1").Range("A1").Value = CDate(tb2.Text)

    End If

Cordialement
 

CaptainMerlux

XLDnaute Nouveau
Merci Chris pour ton aide mais je pense qu'il y a des façons de dire les choses. Oui je ne maitrise pas VBA et j'apprends seul grâce au tuto internet et forum, donc merci d'avoir aussi un peu de respect pour ce genre de personne que je peux représenter.
Pour ce qui est de la diffusion des codes, je ne vais pas pouvoir, je travail sur un site protégé et les informations sont confidentiels, d'où mon problème pour trouver les solutions à mes blocages.
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil,

CaptainMerlux(Bienvenue sur le forum)
Où est l'irrespect?
Constater qu'un membre du forum:
ne maîtrise pas...
manifeste un défaut de compétence...
est un newbie...
est un novice...
etc...
C'est simplement un constat
Ni plus, ni moins.

Et débutant ou pas, la première des choses qu'un membre du forum doit avoir comme compétence c'est de savoir lire
Ce qui est bien utile pour retenir ce mantra:

Car se faisant, tu aurais joint un fichier exemple dès le premier message dans ce fil.
(Ce qui t'aurait éviter ce petit coup de sang )

EDITION: Bonsoir Chris
 
Dernière édition:

chris

XLDnaute Barbatruc
RE
Bonjour Staple

Tu postes un code de formatage, je précise que le problème n'est pas là
Roblochon indique que c'est le code qui inscrit la valeur dans la cellule et donne un exemple pour te mettre sur la voie.
ce sont 2 actions différentes comme dans Excel la saisie et la mise en forme mais tu ne sembles pas saisir la nuance.

je conclus que tu es totalement perdu je demande tout le code pour pouvoir répondre de façon précise sans échanger 50 posts.

On a tous débuté et, pour nombre d'entre nous, sur le tas et avant que les forums n'existent...
 

CaptainMerlux

XLDnaute Nouveau
Bonjour Messieurs, passons la polémique et essayer d'avancer sur mon problème. Je vais essayer de vous aiguiller au mieux sans trop en dévoiler sur les informations confidentielles.

Voici le Code VBA de mon formulaire de Saisie d'Audit Chantier :
'***********************************************
'LEXIQUE
'***********************************************
'***********************************************
'***********************************************
'Tb1 = N°Chrono
'Tb2 = Date
'Tb3 = Entreprise
'Cb1 = Inspecteur n°1
'Cb2 = Inspecteur n°2
'Cb3 = Inspection conforme
'Cb4 = Inspection non conforme
'Cb5 = Arrêt de chantier
'************************************************
'************************************************
'************************************************

Private Sub Tb1_Change()

End Sub

'*******************************
'Saisie de la date
'*******************************
Private Sub Tb2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not ((KeyAscii > 46 And KeyAscii < 58)) Then
KeyAscii = 0
End If
End Sub

Private Sub Tb2_AfterUpdate()
On Error GoTo Messagerreur
Tb2 = Format(Tb2, "short date")
Exit Sub
Messagerreur:
MsgBox ("le format de la date n'est pas correct, le format de date doit être Jour/Mois/Année")
Tb2 = Empty

End Sub

Private Sub Tb2_Enter()
If Tb2 = "jj/mm/aaaa" Then
Tb2 = ""
End If
End Sub

Private Sub Tb2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Tb2 = "" Then
Tb2.Text = "jj/mm/aaaa"
End If
End Sub



'****************************************************************
'Commande pour revenir au formulaire de Gestion
'****************************************************************
Private Sub CbBack_Click()

Unload Me
AuditChnatier.Show

End Sub

'**********************************************************************
'Commande pour enregistrer formulaire dans le tableau
'**********************************************************************
Private Sub CbSave_Click()

Unload Me
AuditChantier.Show

'Recherche la prochaine ligne vide du tableau de suivi
Feuil5.Activate
Feuil5.Range("A1048576").End(xlUp).Offset(2, 0).Select
'Affectation des données du formulaire dans le tableau
ActiveCell(0, 1) = Me.Tb1
ActiveCell(0, 3) = Me.Tb2
ActiveCell(0, 4) = Me.Tb3
ActiveCell(0, 5) = Me.Cb1
ActiveCell(0, 6) = Me.Cb2
ActiveCell(0, 7) = Me.Cb3
ActiveCell(0, 8) = Me.Cb4
ActiveCell(0, 9) = Me.Cb5

End Sub


Je vais vous fournir des captures d'écran pour comprendre où il s'incrémente et où se trouve mon blocage.
1) Formulaire de Saisie des Audits Chantier rempli
2) Tableau Chrono des audits incrémentés par le formulaire
3) Tableau des Entreprises Audités par formule matricielle (ne fonctionne pas)
4) Tableau Chrono des audits incrémentés manuellement
5) Tableau des Entreprises Audités par formule matricielle (inchangé par rapport à photo 3, mais fonctionnelle)
 

Pièces jointes

  • Saisie d'audit chantier par Formulaire.png
    243.1 KB · Affichages: 23
  • Chrono d'audit incrémenté par Formulaire.png
    217.4 KB · Affichages: 18
  • Entreprises Audités incrémentés par Formulaire.png
    216 KB · Affichages: 14
  • Saisie manuelle d'audit chantier.png
    219.1 KB · Affichages: 13
  • Entreprises Audités suite saisie manuelle.png
    217.3 KB · Affichages: 15

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…