• Initiateur de la discussion Initiateur de la discussion Xavier_nice
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

X

Xavier_nice

Guest
bonsoir

j'ai un problème avec la mise en service de la formule "FormulaArray"

num = Sheets("année").Range("A65536").End(xlUp).Row + 1
Sheets("année").Activate
Range("A" & num).FormulaArray = TxtDate
Range("B" & num).Value = jour
Range("c" & num).Value = cbonom
Range("D" & num).Value = client

la Formule matricielle, à valider par ctrl, maj et entrée ne marche pas que faire?
merci

Xavier
 

Pièces jointes

Re : FormulaArray

dans la feuil année colonne A les données doivent être sous la forme {date}
et la ce n'est pas le cas malgré la commande FormulaArray en VBA

Private Sub cmdok_Click()
Dim i, j, T, c, ctrl, k, p, q, o
Dim jour, client, madoo, materiel

If TxtDate.Value = "" Then
MsgBox ("Il faut indiquer la date !")
Exit Sub
Else
End If

For Each ctrl In UserForm2.Frclient.Controls
k = k + ctrl.Value
Next ctrl
If k = 0 Then
MsgBox ("vous devez choisir ok ou non ok.")
Me.Frclient.SetFocus
Exit Sub
End If
For Each ctrl In UserForm2.Frclient.Controls
If ctrl.Value = True Then client = client & " " & Trim(ctrl.Caption)
Next ctrl

For Each ctrl In UserForm2.Frmadoo.Controls
i = i + ctrl.Value
Next ctrl
If i = 0 Then
MsgBox ("vous devez choisir ok ou non ok.")
Me.Frmadoo.SetFocus
Exit Sub
End If
For Each ctrl In UserForm2.Frmadoo.Controls
If ctrl.Value = True Then madoo = madoo & " " & Trim(ctrl.Caption)
Next ctrl

For Each ctrl In UserForm2.Frmat.Controls
j = j + ctrl.Value
Next ctrl
If j = 0 Then
MsgBox ("vous devez choisir ok ou non ok.")
Me.Frmat.SetFocus
Exit Sub
End If
For Each ctrl In UserForm2.Frmat.Controls
If ctrl.Value = True Then materiel = materiel & " " & Trim(ctrl.Caption)
Next ctrl


For Each q In UserForm2.frjour.Controls
If q.Value = True Then jour = Trim(q.Caption)
Next q
If optmatin = False And optam = False And optjournée = False Then
MsgBox ("vous devez choisir matin, aprés midi ou journée.")
Me.frjour.SetFocus
Exit Sub
End If

num = Sheets("année").Range("A65536").End(xlUp).Row + 1
Sheets("année").Activate
Range("A" & num).FormulaArray = TxtDate
Range("B" & num).Value = jour
Range("c" & num).Value = cbonom
Range("D" & num).Value = client
Range("e" & num).Value = madoo
Range("f" & num).Value = materiel
Range("g" & num).Value = Txtpresta
Range("h" & num).Value = Txtcom

Unload UserForm2
UserForm2.Show
End Sub
 
Re : FormulaArray

Bonjour,

pas tout suivi, mais si "TxtDate" est un textbox, vois pas une formule matricielle le prendre en charge en l'état... essaye peut être ainsi :
Code:
Range("A" & num).Value= TxtDate

bonne journée
@+
 
Re : FormulaArray

merci pirrot93 mais non c'est pas bon car dans les case de la colonne A pour que ma formule =SI(EQUIV(A:A;A:A;0)=LIGNE();"ok";"doublon") qui se trouve dans la colonne J marche il me faut absolument que les entrée de la colonne A soit en Formule matricielle
et la je cale
dur dur d'être un novice

Xavier
 
Re : FormulaArray

mon problème c'est que je veux que ce que je rentre dans la TextBox "txtdate" soit copier dans feuille "année" colonne "A" en formule matriciel pour que la formule de suppréssion de doublon fonction

help merci
 
Re : FormulaArray

je m'explique plus clairement enfin je l'espère

ce que je voudrais faire c'est que la valeur de la TextBox "jour" soit insérait dans la colonne A de Année en formule matricielle pour que ma formule dans la ligne L de Année fonctionne, ma formule permet d'enlever les doublon de la colonne A de Année voila

merci
Xavier
 
Re : FormulaArray

Bonjour,
ce que je voudrais faire c'est que la valeur de la TextBox "jour" soit insérait dans la colonne A de Année en formule matricielle pour que ma formule dans la ligne L de Année fonctionne, ma formule permet d'enlever les doublon de la colonne A de Année voila
je n'ai pas suivi ce fil et ne vais pas tout reprendre, mais j'ai l'impression que tu veux monter une usine à gaz pour rien : si tu veux que les données de la colonne A soient prises en compte dans la formule de la colonne L, il te suffit simplement de définir correctement ta plage Jour qui se réfère à la colonne C. Il te suffit de prendre en compte la colonne A dans ton NBVAL et les nouvelles dates sont alors prises en compte :
Code:
=DECALER(année!$A$3;;;NBVAL(année!$A:$A)-1)
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
911
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
10
Affichages
1 K
Réponses
16
Affichages
2 K
Réponses
6
Affichages
737
Retour