Formule dans une macro

Résolu
Misterlagaf Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
WeaponEDGE Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je voudrais appliquer a un image avec une macro et une condition if then en if

la fonction suivante
if E31=1,G31=2,I31=3,K31=4 then
alors je passe sur la feuil2

end if
mais je n'y arrive pas pouvez vous m'aider merci

merci d'avance de votre aide
A voir également:

4 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Clic droit sur l'image : Affecter une macro.
Le code :
Sub Image1_Cliquer()
'Avec condition ET
If [E31] = 1 And [G31] = 2 And [I31] = 3 And [K31] = 4 Then
'Avec Condition OU
'If [E31] = 1 Or [G31] = 2 Or [I31] = 3 Or [K31] = 4 Then
Sheets("Feuil2").Activate
End If
End Sub

0
Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour pijaku

Une petite question svp pour ma culture,
Pour quelle raison utilise-tu dans tes codes [E31] à la place de Range("E31")?
Est-ce pour une facilité d'écriture?
Est-ce exactement la même chose?

cordialement
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

C'est exactement la même chose. Pure fainéantise de ma part.
0
Iama Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   14
 
Alors, Je crois que je vais devenir faignant
0
Misterlagaf Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour ton aide
encore une demande
et si je voudrais la même formule mais pour des codes différent et toujours avec le même bouton
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Ta question manquant cruellement de précision...

Sub Image1_Cliquer()
'Avec condition ET
If [E31] = 1 And [G31] = 2 And [I31] = 3 And [K31] = 4 Then
'Avec Condition OU
'If [E31] = 1 Or [G31] = 2 Or [I31] = 3 Or [K31] = 4 Then
Sheets("Feuil2").Activate
ElseIf [E31] = 10 And [G31] = 20 And [I31] = 30 And [K31] = 40 Then
Sheets("Feuil3").Activate
Else
Sheets("Feuil4").Activate
End If
End Sub
0
Misterlagaf Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
le 1er code et fonctionnelle et il vas super bien
ma question et la suivante:
supposont que je voudrais ouvrir 10 feuilles avec 10 code different
a partir du premier code
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Quels sont les 10 codes d'ouverture?
0
Misterlagaf Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
le 1er 1234 le 2ieme 2546 par exemple ,ect... pour les autre
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Ben voilà. ..

Dim Code As String

Code = CStr([E31].Value & [G31].Value & [I31].Value & [K31].Value)
Select Case Code
  Case "1234"
      Sheets("Feuil1").Activate
  Case "2546"
      Sheets("Feuil2").Activate
  Case "6541"
      Sheets("Feuil3").Activate
  '...
  '...
  Case Else
      MsgBox "Mauvais code"
End Select
0
Misterlagaf Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
je sais que cela marche tres bien avec les celulle et je suis tres novice avec les ranges
malgrée que j'adore faire des tableurs pour un oui pou pour un non
0
WeaponEDGE Messages postés 113 Date d'inscription   Statut Membre Dernière intervention   9
 
Bonjour,

Pour ta culture personnel le RANGE sert à grouper plusieurs cellule:
Le RANGE("A1").select ne va grouper qu'une seule cellule alors que le Range("A1", "B4").Select sélectionnera toutes les cellule de A1 jusqu'à B4 donc 8 celulles au total.

Après le VBA c'est comme une langue vivante, parfois il ya plusieurs manière de dire la même chose. Si tu veux sélectionner une cellule tu peux le noter de ces différente manières :
Range("A1").select
[A1].select
Cells(1,"A").select
Cells(1,1).select

pour ma part je te conseil d'utiliser la dernière solution car elle utilise uniquement des nombres pour déterminer la position d'une cellule ce qui te permet de jouer avec les variable quand la cellule à sélectionner n'est pas connu à l'avance.

pour en revenir au groupement des cellules voilà ce que Range("A1", "B4").Select donnerait en utilisant le Cells :
Range(cells(1,1),cells(4,2)).select
0
Misterlagaf Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour votre aide precieuse
avec les essais qui marche tres bien je pourrais continuer mon projet :)
0