Comment récupérer le contenu d'une cellule excel?

W

wapit

Guest
J'ai mis en place une macro, dont le fonctionnement est basé sur une cellule qui est remplie par l'utilisateur.
Celui-ci rentre un code client dans la cellule et clique sur un bouton qui lance la macro.
Je voudrais mettre en place une alerte qui s'affiche lorsque l'utilisateur ne saisi pas un code client valide.
Les codes clients sont présents dans la feuille excel et il faudrais que je puisse récupérer le contenu des cellules correspondantes pour fair un test sur l'ensemble de celles-ci et ainsi vérifier que le code client saisi est valide!
Comment puis-je récupérer le contenu de ces cellules?
 
W

wapit

Guest
Voilà le début du code de ma macro avec ce que j'ai tenté (et qui ne marche pas bien sûr) concernant mon message d'alerte pour les codes clients éronés!

Dim CodeClient As Integer
Dim contenu As String
Dim Box As Integer
Dim Feuill1 As String
Feuill1 = 1
Range("D4").Select
contenu = ActiveCell.Value

If ActiveCell.Value = "" Then
Box = MsgBox("Veuillez Saisir un code client dans la cellule D4!", 0, "Attention")
ElseIf ActiveCell.Value <> ("J2" And "M2" And "P2" And "S2" And "V2" And "Y2" And "AB2" And "AE2" And "AH2" And "AK2" And "AN2" And "AQ2" And "AT2" And "AW2" And "AZ2" And "BC2" And "BF2" And "BI2" And "BL2" And "BO2" And "BR2" And "BU2" And "BX2" And "CA2" And "CD2" And "CG2" And "CJ2" And "CM2" And "CP2" And "CS2" And "CV2" And "CY2" And "DB2" And "DE2" And "DH2" And "DK2" And "DN2" And "DQ2" And "DT2" And "DW2" And "DZ2" And "EC2" And "EF2" And "EI2" And "EL2" And "EO2" And "ER2" And "EU2" And "EX2" And "FA2" And "FD2" And "FG2" And "FJ2" And "FM2" And "FP2" And "FS2" And "FV2" And "FY2" And "GB2" And "GE2" And "GH2" And "GK2" And "GN2" And "GQ2" And "GT2" And "GW2" And "GZ2" And "HC2" And "HF2" And "HI2" And "HL2" And "HO2" And "HR2" And "HU2" And "HX2" And "IA2" And "ID2" And "IG2" And "IJ2" And "IM2" And "IP2" And "IS2") Then
Box = MsgBox("Le code que vous avez saisi ne correspond à aucun code client!", 0, "Attention")
Else
Range("J2").Select
If contenu = ActiveCell.Value Then
CodeClient = 11
End If
 
S

Sbab

Guest
Salut Wapit,

Tu n'as peut-être même pas besoin d'une macro pour faire ça !

Il y a un truc qui est pas mal et qui pourrait te convenir, c'est le fonctionnalité du menu [Données/Validation...].

Elle permet de valider la saisie dans un cellule et d'éventuellement d'afficher un message d'erreur. En plus, elle fournit directement une liste déroulante des saisies disponibles quand tu cliques dans la cellule.

Essaie:

0) Remplis une plage de cellule avec les saisies possibles (dans la même feuille !)
1) Sélectionne ta cellule
2) Appelle le menu [Données/Validation...]
3) Onglet option avec
critère de validation = Liste
source=plage où sont rangés tes saisies possibles
4) Remplis les autres ongles pour les messages d'erreur.

Voila,
en espérant que tu trouveras ton bonheur..

A+
 
R

Ronan

Guest
Bonsoir,

Ou alors :

dans un premier temps, il faut avoir dans une feuille, sous forme de tableau, la totalité de tes codes clients
par exemple feuil2 A1:A10

sub valider()
dim valeur as range
dim codeclient as string
dim test as byte
contenu=sheets("feuil1").range("d4").value
if contenu="" then
msgbox "Veuillez saisir un code client dans la cellule d4"
exit sub
end if
set plage=sheets("feuil2").range("a1:a10")
test=0
for each valeur in plage
if valeur.value=contenu then
test=1
exit for
end if
next
if test=0 then
msgbox "Code client inconnu"
sheets("feuil1").range("d4").value=""
exit sub
end if
Range("J2").Select
If contenu = ActiveCell.Value Then
CodeClient = 11
end if
end sub

@+
 

Discussions similaires

Réponses
4
Affichages
483
Réponses
3
Affichages
162

Statistiques des forums

Discussions
314 663
Messages
2 111 656
Membres
111 250
dernier inscrit
alinber