réutiliser plage de données dans formule

  • Initiateur de la discussion Initiateur de la discussion norip
  • 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 !

norip

XLDnaute Junior
Bonsoir,
je souhaite sélectionner 2 plages de cellule pour ensuite les réutiliser dans la formule du coefficient de correlation.
J'ai écrit cela dans le code associé au userform:



Private Sub CommandButton1_Click()


Dim selrange As Range
Dim plagedonneea As String
Dim plagedonneeb As String


plagedonneea = RefEdit1.Value
plagedonneeb = RefEdit2.Value

Set selrange = Range(plagedonneea)
selrange2 = Range(plagedonneeb)
'Range("addr").Select
'Selection.Copy
'Range("A1").Select
'Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, transpose:=True
'Application.CutCopyMode = False

Range("D12") = "=CORREL(plagedonneea,plagedonneeb)"

Me.Hide


End Sub

Private Sub CommandButton3_Click()

Me.Hide

End Sub

Private Sub RefEdit1_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)

End Sub

Private Sub RefEdit2_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)

End Sub


La formule se copie bien dans le cellule D12 mais excel écrit l'erreur " #NOM? "

Pouvez vous m'aidez
Cordialement
 
Re : réutiliser plage de données dans formule

Bonsoir,

Je suppose et ne peut que supposer que ceci fonctionnera (peut-être) mieux:
Code:
Range("D12").Formula = "=CORREL(" & plagedonneea & "," & plagedonneeb & ")"

A+
 
Re : réutiliser plage de données dans formule

Salut norip et le forum
Utilises les balises de code (# en mode avancé)

Comme on ne connaît que ce que tu écris, j'ai relevé une erreur :
Code:
selrange2 = Range(plagedonneeb)
Ce devrait être
Code:
Set selrange2 = Range(plagedonneeb)
Code:
Dim selrange As Range
    Dim plagedonneea As String
    Dim plagedonneeb As String
    

    plagedonneea = RefEdit1.Value
    plagedonneeb = RefEdit2.Value
    
Set selrange = Range(plagedonneea)
    Set selrange2 = Range(plagedonneeb)
    'Range("addr").Copy
    'Range("A1").PasteSpecial Paste:=xlPasteAll, transpose:=True
    'Application.CutCopyMode = False
     
    Range("D12").formula = "=CORREL(" & plagedonneea & "," & plagedonneeb & ")"
    
    Me.Hide
End Sub
En admettant que c'est bien la syntaxe anglaise (je ne connais pas la fonction CORREL
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

Discussions similaires

Retour