> Tous les forumsBureautique

 Modification sur Macro ExcelSujet résolu
Statut du sujet : RESOLU Imprimer
 Obelix73
  Posté le 03/01/2008 @ 09:32  
 Petit astucien

94 Messages

Bonjour à tous,

et surtout une bonne année et une bonne santé à vous et vos proches.

Dans la macro ci-dessous, je voudrais pouvoir faire 2 contrôles au lieu d'1 actuellement

Faire soit: Range("C37:F37"), ">0") >= 4 ou soit: Range("C37:E37;G37"), ">0") >= 4

mais je ne sais pas comment m'y prendre.

Sub SaisieDonnée()
Dim i%
'Si les 4 champs ("C37:F37") sont remplis
i = MsgBox("Voulez-vous valider votre saisie ? ", 36, " Vérification d'enregistrement ")
If Application.CountIf(Sheets("Feuil1").Range("C37:F37"), ">0") >= 4 Then
'appelle la routine de transfert
Traitement
Else
i = MsgBox("Veuillez compléter votre saisie ! Téléconseiller, Etat du réseau, Couverture, Provenance et Nature de l'appel ", 16, " Enregistrement impossible ")
End If

Sheets("Feuil1").Select
Range("A1").Select
End Sub

D'avance merci à tous pour votre aide

Cordialement,

Obelix73

 Afficher le profil de Obelix73Envoyer un message privé à Obelix73
 
 
Publicité
 Bérylion  Posté le 03/01/2008 à 11:18  
Astucien


2289 Messages

Salut

euh, tu nous gates pas vraiment la !

je voudrais faire soit ci, soit ça... bon, d'accord, mais en f° de quoi ???
Afficher le profil de Bérylion Voir la configuration de BérylionEnvoyer un message privé à Bérylion
 Revenir en haut de la page
 Obelix73  Posté le 03/01/2008 à 11:35  
Petit astucien

94 Messages

Bonjour,

Je voudrais, avec cette macro, vérifier dans la Feuil1 que la somme de (C37, D37, E37 et F37) est soit supérieur ou égale à 4. Si ce n'est pas le cas, vérifier dans la Feuil 1 que la somme de (C37, D37, E37 et G 37) est soit supérieur ou égale à 4.

Si l'une des 2 conditions est remplie la macro continue, sinon le message "enregistrement impossible" s'affiche.

PS: Dans la macro les "&gt" sont à remplacer par ">=" (erreur sur copier/coller ?)

Obelix73

Afficher le profil de Obelix73Envoyer un message privé à Obelix73
 Revenir en haut de la page
 Bérylion  Posté le 03/01/2008 à 13:15  
Astucien


2289 Messages

Sub SaisieDonnée()
Dim i%
'Si les 4 champs ("C37:F37") sont remplis
i = MsgBox("Voulez-vous valider votre saisie ? ", 36, " Vérification d'enregistrement ")
If Application.WorksheetFunction.CountIf(Sheets("Feuil1").Range("C37:F37"), ">0") >= 4 Then
'appelle la routine de transfert
MsgBox "test"
ElseIf Application.WorksheetFunction.CountIf(Sheets("Feuil1").Range("C37:E37"), ">0") + Application.WorksheetFunction.CountIf(Sheets("Feuil1").Range("g37"), ">0") >= 4 Then
MsgBox "test"
Else
i = MsgBox("Veuillez compléter votre saisie ! Téléconseiller, Etat du réseau, Couverture, Provenance et Nature de l'appel ", 16, " Enregistrement impossible ")
End If
Sheets("Feuil1").Select
Range("A1").Select
End Sub

ATTENTION :
cette procédure ne fait pas la somme des valeurs des plages,
mais compte le nb de valeurs supérieures à 0

tu demandes la somme mais tu fais le compte ?!
je suppose que tu veux tester si la cellule contient une valeur...

Afficher le profil de Bérylion Voir la configuration de BérylionEnvoyer un message privé à Bérylion
 Revenir en haut de la page
 Obelix73  Posté le 03/01/2008 à 15:25  
Petit astucien

94 Messages

Bonjour,

Merci Bérylion pour ton aide,

effectivement je voulais uniquement tester si la valeur de la cellule est supérieur à 0.

encore merci,

bonne après-midi

Obelix73

Afficher le profil de Obelix73Envoyer un message privé à Obelix73
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsBureautique

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page