Formule dans VBA ?
Résolu
Villette54
Messages postés
300
Date d'inscription
Statut
Membre
Dernière intervention
-
Villette54 Messages postés 300 Date d'inscription Statut Membre Dernière intervention -
Villette54 Messages postés 300 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Formule dans VBA ?
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
3 réponses
Bonjour Villette,
Tu sais comment utiliser du code VBA? Sinon tu peux essayer ça :
Après il faut que tu me décrives un peu plus comment tu veux faire. Avec ça tu pourras faire un petit truc je pense :p
La personne n'aura le droit que à un seul essai, après la formule reviendra.
(je pourrai t'améliorer un peu le code si tu veux, sur le même principe)
Bien cordialement,
Hugo
Tu sais comment utiliser du code VBA? Sinon tu peux essayer ça :
Private formule As String 'Il faut remplacer i et j avec tes valeurs Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row = i And Target.Column = j Then formule = Cells(i,j).Formula Cells(i,j).Clear Else If Cells(i,j) = "" Then Cells(i,j) = "Autre, précisez" End If 'Le problème avec ça c'est que l'opération se fera souvent, je vois pas comment faire autrement Cells(i,j).Formula = formule End If
Après il faut que tu me décrives un peu plus comment tu veux faire. Avec ça tu pourras faire un petit truc je pense :p
La personne n'aura le droit que à un seul essai, après la formule reviendra.
(je pourrai t'améliorer un peu le code si tu veux, sur le même principe)
Bien cordialement,
Hugo
Bonjour Vilette
En VBA, on n'utilise généralement pas des copies de formules pour inscrire des valeurs en résultat
la procédure ci dessous se déclenche lorsqu'on entre une valeur en colonne A de la feuille "report". Une mauvaise saisie est signalée (par ex: 6 ou toto...)
j'ai mis une zone d'action jusqu'à la ligne 10000 mais à toi d'adapter à ton classeur réel
Procédure à installer dans le module feuille "report" et non dans un module standard

Michel
En VBA, on n'utilise généralement pas des copies de formules pour inscrire des valeurs en résultat
la procédure ci dessous se déclenche lorsqu'on entre une valeur en colonne A de la feuille "report". Une mauvaise saisie est signalée (par ex: 6 ou toto...)
Option Explicit
'------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Texto As String
'zone d'action procédure
If Not Intersect(Target, Range("A2:A10000")) Is Nothing Then
With Sheets("Data")
On Error GoTo inconnu 'détection saisie erronée
'description donnée feuille data
Texto = .Columns("A").Find(Target, .Range("A1"), xlValues).Offset(0, 1)
End With
'report description feuille "report"
Target.Offset(0, 1) = Texto
End If
Exit Sub
'gestionnaire erreurs
inconnu:
MsgBox "la valeur saisie, " & Target & ", est erronée.", vbCritical
End Sub
j'ai mis une zone d'action jusqu'à la ligne 10000 mais à toi d'adapter à ton classeur réel
Procédure à installer dans le module feuille "report" et non dans un module standard

Michel