OVH Cloud OVH Cloud

NB.SI en VBA

7 réponses
Avatar
Didier Novarin
Bonsoir
J'ai une colonne A3:A500 dans laquelle, j'ai des codes postaux nommé
"Code_postal"
comme j'ai parfois plusieurs fois le même code, je rajoute une lettre
exemple 69300A; 69300B; 69300C etc.
je souhaite que si il y a plusieurs fois la racine du code postal, dans
l'exemple 69300 après clic sur un bouton un msgbox se lance et prévient
l'utilisateur qu'il y a dans ce cas 3 codes postaux 69300
Je vous remercie
Didier

7 réponses

Avatar
Didier Novarin
RE,
en fait, j'ai oublié de préciser que le code postal est saisi dans un
textbox
Merci
Didier

"Didier Novarin" a écrit dans le message de
news: %
Bonsoir
J'ai une colonne A3:A500 dans laquelle, j'ai des codes postaux nommé
"Code_postal"
comme j'ai parfois plusieurs fois le même code, je rajoute une lettre
exemple 69300A; 69300B; 69300C etc.
je souhaite que si il y a plusieurs fois la racine du code postal, dans
l'exemple 69300 après clic sur un bouton un msgbox se lance et prévient
l'utilisateur qu'il y a dans ce cas 3 codes postaux 69300
Je vous remercie
Didier



Avatar
Daniel
Bonsoir.
Tant pis, je l'ai pris dans une inputbox :

Sub Test()
Dim c As Range, Ctr As Integer, Cod As String
Cod = InputBox("Entrez le code postal")
For Each c In Range("A3:A500")
If Left(c.Value, 5) = Cod Then
Ctr = Ctr + 1
End If
Next c
If Ctr > 1 Then MsgBox Cod & " existe en " & Ctr & " exemplaires"
End Sub

Cordialement.
Daniel
"Didier Novarin" a écrit dans le message de
news: %
RE,
en fait, j'ai oublié de préciser que le code postal est saisi dans un
textbox
Merci
Didier

"Didier Novarin" a écrit dans le message de
news: %
Bonsoir
J'ai une colonne A3:A500 dans laquelle, j'ai des codes postaux nommé
"Code_postal"
comme j'ai parfois plusieurs fois le même code, je rajoute une lettre
exemple 69300A; 69300B; 69300C etc.
je souhaite que si il y a plusieurs fois la racine du code postal, dans
l'exemple 69300 après clic sur un bouton un msgbox se lance et prévient
l'utilisateur qu'il y a dans ce cas 3 codes postaux 69300
Je vous remercie
Didier







Avatar
Didier Novarin
Bonsoir Daniel et merci, j'ai adapté ta procédure avec mon textbox, et
fonctionne parfaitement
je te remercie encore
bonne soirée
Didier

"Daniel" a écrit dans le message de news:

Bonsoir.
Tant pis, je l'ai pris dans une inputbox :

Sub Test()
Dim c As Range, Ctr As Integer, Cod As String
Cod = InputBox("Entrez le code postal")
For Each c In Range("A3:A500")
If Left(c.Value, 5) = Cod Then
Ctr = Ctr + 1
End If
Next c
If Ctr > 1 Then MsgBox Cod & " existe en " & Ctr & " exemplaires"
End Sub

Cordialement.
Daniel
"Didier Novarin" a écrit dans le message de
news: %
RE,
en fait, j'ai oublié de préciser que le code postal est saisi dans un
textbox
Merci
Didier

"Didier Novarin" a écrit dans le message de
news: %
Bonsoir
J'ai une colonne A3:A500 dans laquelle, j'ai des codes postaux nommé
"Code_postal"
comme j'ai parfois plusieurs fois le même code, je rajoute une lettre
exemple 69300A; 69300B; 69300C etc.
je souhaite que si il y a plusieurs fois la racine du code postal, dans
l'exemple 69300 après clic sur un bouton un msgbox se lance et prévient
l'utilisateur qu'il y a dans ce cas 3 codes postaux 69300
Je vous remercie
Didier











Avatar
michdenis
Bonjour Didier,

En supposant que tu as défini ta plage contenant les codes postaux par une plage nommée :
barre des menus / insertion / nom / définir Nom = CodePostaux

J'ai supposé que ton textbox était dans un formulaire :

'----------------------
Private Sub CommandButton1_Click()

Dim A As Integer, Critere As String
If TextBox1 <> "" Then
Critere = TextBox1 & "*"
A = Application.CountIf(Range("CodePostaux"), Critere)
If A > 0 Then
MsgBox "il y a déjà " & A & _
" codes postaux débutant par " & TextBox1 & "."
End If
End If

End Sub
'----------------------


Salutations!


"Didier Novarin" a écrit dans le message de news: %
RE,
en fait, j'ai oublié de préciser que le code postal est saisi dans un
textbox
Merci
Didier

"Didier Novarin" a écrit dans le message de
news: %
Bonsoir
J'ai une colonne A3:A500 dans laquelle, j'ai des codes postaux nommé
"Code_postal"
comme j'ai parfois plusieurs fois le même code, je rajoute une lettre
exemple 69300A; 69300B; 69300C etc.
je souhaite que si il y a plusieurs fois la racine du code postal, dans
l'exemple 69300 après clic sur un bouton un msgbox se lance et prévient
l'utilisateur qu'il y a dans ce cas 3 codes postaux 69300
Je vous remercie
Didier



Avatar
Didier Novarin
Bonsoir et merci beaucoup Denis
Pour aller encore plus loin ;-)
Et-il possible d'avoir dans le msgbox, si A >2 le numéro du code ainsi que
la lettre
exemple A = 3 : msgbox "Vous pouvez choisir entre 68300A, 68300B, 68300C"
Encore merci
Didier


"michdenis" a écrit dans le message de news:

Bonjour Didier,

En supposant que tu as défini ta plage contenant les codes postaux par une
plage nommée :
barre des menus / insertion / nom / définir Nom = CodePostaux

J'ai supposé que ton textbox était dans un formulaire :

'----------------------
Private Sub CommandButton1_Click()

Dim A As Integer, Critere As String
If TextBox1 <> "" Then
Critere = TextBox1 & "*"
A = Application.CountIf(Range("CodePostaux"), Critere)
If A > 0 Then
MsgBox "il y a déjà " & A & _
" codes postaux débutant par " & TextBox1 & "."
End If
End If

End Sub
'----------------------


Salutations!


"Didier Novarin" a écrit dans le message de
news: %
RE,
en fait, j'ai oublié de préciser que le code postal est saisi dans un
textbox
Merci
Didier

"Didier Novarin" a écrit dans le message de
news: %
Bonsoir
J'ai une colonne A3:A500 dans laquelle, j'ai des codes postaux nommé
"Code_postal"
comme j'ai parfois plusieurs fois le même code, je rajoute une lettre
exemple 69300A; 69300B; 69300C etc.
je souhaite que si il y a plusieurs fois la racine du code postal, dans
l'exemple 69300 après clic sur un bouton un msgbox se lance et prévient
l'utilisateur qu'il y a dans ce cas 3 codes postaux 69300
Je vous remercie
Didier








Avatar
michdenis
Bonjour Didier,

Cela pourrait donner quelque chose comme ceci :

à toi d'adapter :

'------------------------------------
Private Sub CommandButton1_Click()
Dim Found As Range
Dim A As Integer, Critere As String
If TextBox1 <> "" Then
Critere = TextBox1 & "*"
A = Application.CountIf(Range("CodePostaux"), Critere)
If A > 0 Then
With Range("Codepostaux")
Set Found = .Find(TextBox1, LookIn:=xlFormulas, lookat:=xlPart)
adr = Found.Address
Do
Message = Message & Found.Value & vbCrLf & vbTab
Set Found = .FindNext(Found)
Loop While Not Found Is Nothing And _
Found.Address <> adr
End With
MsgBox "il y a déjà " & A & _
" codes postaux débutant par " & TextBox1 & "." & _
vbCrLf & vbCrLf & "Voici la liste déjà présente : " & _
vbCrLf & vbTab & _
Message, vbInformation + vbOKOnly, _
"Dans la plage : " & _
Range("Codepostaux").Parent.Name & "!" & _
Range("Codepostaux").Address(0, 0)
End If
End If
Set Found = Nothing
End Sub
'------------------------------------


Salutations!



"Didier Novarin" a écrit dans le message de news:
Bonsoir et merci beaucoup Denis
Pour aller encore plus loin ;-)
Et-il possible d'avoir dans le msgbox, si A >2 le numéro du code ainsi que
la lettre
exemple A = 3 : msgbox "Vous pouvez choisir entre 68300A, 68300B, 68300C"
Encore merci
Didier


"michdenis" a écrit dans le message de news:

Bonjour Didier,

En supposant que tu as défini ta plage contenant les codes postaux par une
plage nommée :
barre des menus / insertion / nom / définir Nom = CodePostaux

J'ai supposé que ton textbox était dans un formulaire :

'----------------------
Private Sub CommandButton1_Click()

Dim A As Integer, Critere As String
If TextBox1 <> "" Then
Critere = TextBox1 & "*"
A = Application.CountIf(Range("CodePostaux"), Critere)
If A > 0 Then
MsgBox "il y a déjà " & A & _
" codes postaux débutant par " & TextBox1 & "."
End If
End If

End Sub
'----------------------


Salutations!


"Didier Novarin" a écrit dans le message de
news: %
RE,
en fait, j'ai oublié de préciser que le code postal est saisi dans un
textbox
Merci
Didier

"Didier Novarin" a écrit dans le message de
news: %
Bonsoir
J'ai une colonne A3:A500 dans laquelle, j'ai des codes postaux nommé
"Code_postal"
comme j'ai parfois plusieurs fois le même code, je rajoute une lettre
exemple 69300A; 69300B; 69300C etc.
je souhaite que si il y a plusieurs fois la racine du code postal, dans
l'exemple 69300 après clic sur un bouton un msgbox se lance et prévient
l'utilisateur qu'il y a dans ce cas 3 codes postaux 69300
Je vous remercie
Didier








Avatar
Didier Novarin
Ok je te remercie beaucoup Denis
Bonne soirée
Didier

"michdenis" a écrit dans le message de news:

Bonjour Didier,

Cela pourrait donner quelque chose comme ceci :

à toi d'adapter :

'------------------------------------
Private Sub CommandButton1_Click()
Dim Found As Range
Dim A As Integer, Critere As String
If TextBox1 <> "" Then
Critere = TextBox1 & "*"
A = Application.CountIf(Range("CodePostaux"), Critere)
If A > 0 Then
With Range("Codepostaux")
Set Found = .Find(TextBox1, LookIn:=xlFormulas, lookat:=xlPart)
adr = Found.Address
Do
Message = Message & Found.Value & vbCrLf & vbTab
Set Found = .FindNext(Found)
Loop While Not Found Is Nothing And _
Found.Address <> adr
End With
MsgBox "il y a déjà " & A & _
" codes postaux débutant par " & TextBox1 & "." & _
vbCrLf & vbCrLf & "Voici la liste déjà présente : " & _
vbCrLf & vbTab & _
Message, vbInformation + vbOKOnly, _
"Dans la plage : " & _
Range("Codepostaux").Parent.Name & "!" & _
Range("Codepostaux").Address(0, 0)
End If
End If
Set Found = Nothing
End Sub
'------------------------------------


Salutations!



"Didier Novarin" a écrit dans le message de
news:
Bonsoir et merci beaucoup Denis
Pour aller encore plus loin ;-)
Et-il possible d'avoir dans le msgbox, si A >2 le numéro du code ainsi que
la lettre
exemple A = 3 : msgbox "Vous pouvez choisir entre 68300A, 68300B, 68300C"
Encore merci
Didier


"michdenis" a écrit dans le message de news:

Bonjour Didier,

En supposant que tu as défini ta plage contenant les codes postaux par
une
plage nommée :
barre des menus / insertion / nom / définir Nom = CodePostaux

J'ai supposé que ton textbox était dans un formulaire :

'----------------------
Private Sub CommandButton1_Click()

Dim A As Integer, Critere As String
If TextBox1 <> "" Then
Critere = TextBox1 & "*"
A = Application.CountIf(Range("CodePostaux"), Critere)
If A > 0 Then
MsgBox "il y a déjà " & A & _
" codes postaux débutant par " & TextBox1 & "."
End If
End If

End Sub
'----------------------


Salutations!


"Didier Novarin" a écrit dans le message de
news: %
RE,
en fait, j'ai oublié de préciser que le code postal est saisi dans un
textbox
Merci
Didier

"Didier Novarin" a écrit dans le message de
news: %
Bonsoir
J'ai une colonne A3:A500 dans laquelle, j'ai des codes postaux nommé
"Code_postal"
comme j'ai parfois plusieurs fois le même code, je rajoute une lettre
exemple 69300A; 69300B; 69300C etc.
je souhaite que si il y a plusieurs fois la racine du code postal, dans
l'exemple 69300 après clic sur un bouton un msgbox se lance et prévient
l'utilisateur qu'il y a dans ce cas 3 codes postaux 69300
Je vous remercie
Didier