OVH Cloud OVH Cloud

Proc qui plante

2 réponses
Avatar
Alpha
Bonjour,

J'ai cette proc géniale qui me fournit la liste des numéros manquants, cette
proc dans Excel 2000 (Maison) fonctionne très bien, mais au bureau Excel 97,
elle plante au niveau de : If rep =0 then, puis de If rep > 0 Then
Merci
Alpha

Range("D3:D10000").Select
For Each c In Selection
If c <> c.Offset(1, -1) Then
For i = c + 1 To c.Offset(1, -1) - 1
rep = rep & i & vbLf
t = t + 1
Sheets("impbordereaux").Cells(t, 1) = i
Next
End If
Next
If rep = 0 Then
MsgBox "Aucun bordereau manquant à ce jour.", vbInformation, "Aucun
bordereau manquant"
Range("A65536").End(xlUp)(2).Select
Else
If rep > 0 Then
MsgBox "A ce jour, il y a " & t & " bordereaux émis et non reçus.",
vbInformation, "Nombre de bordereaux émis et non reçus"
Range("A1").Select
MsgBox rep, vbInformation, "Il s'agit des numéros suivant : "
End If

2 réponses

Avatar
Clément Marcotte
Bonjour,

VBA pour Office 97 ne reconnaît pas 0 comme valeur valide pour
indiquer une chaîne de caractères de valeur nulle; alors que VBA pour
Office 2000 le reconnaît.

Essaie avec

if rep = "" then
ou
if len(rep) = 0

et

if rep > "" then
ou
if len(rep) > 0




"Alpha" a écrit dans le message de
news:
Bonjour,

J'ai cette proc géniale qui me fournit la liste des numéros
manquants, cette

proc dans Excel 2000 (Maison) fonctionne très bien, mais au bureau
Excel 97,

elle plante au niveau de : If rep =0 then, puis de If rep > 0 Then
Merci
Alpha

Range("D3:D10000").Select
For Each c In Selection
If c <> c.Offset(1, -1) Then
For i = c + 1 To c.Offset(1, -1) - 1
rep = rep & i & vbLf
t = t + 1
Sheets("impbordereaux").Cells(t, 1) = i
Next
End If
Next
If rep = 0 Then
MsgBox "Aucun bordereau manquant à ce jour.", vbInformation, "Aucun
bordereau manquant"
Range("A65536").End(xlUp)(2).Select
Else
If rep > 0 Then
MsgBox "A ce jour, il y a " & t & " bordereaux émis et non reçus.",
vbInformation, "Nombre de bordereaux émis et non reçus"
Range("A1").Select
MsgBox rep, vbInformation, "Il s'agit des numéros suivant : "
End If




Avatar
Alpha
Merci cela fonctionne très bien.
Alpha

"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

VBA pour Office 97 ne reconnaît pas 0 comme valeur valide pour
indiquer une chaîne de caractères de valeur nulle; alors que VBA pour
Office 2000 le reconnaît.

Essaie avec

if rep = "" then
ou
if len(rep) = 0

et

if rep > "" then
ou
if len(rep) > 0




"Alpha" a écrit dans le message de
news:
Bonjour,

J'ai cette proc géniale qui me fournit la liste des numéros
manquants, cette

proc dans Excel 2000 (Maison) fonctionne très bien, mais au bureau
Excel 97,

elle plante au niveau de : If rep =0 then, puis de If rep > 0 Then
Merci
Alpha

Range("D3:D10000").Select
For Each c In Selection
If c <> c.Offset(1, -1) Then
For i = c + 1 To c.Offset(1, -1) - 1
rep = rep & i & vbLf
t = t + 1
Sheets("impbordereaux").Cells(t, 1) = i
Next
End If
Next
If rep = 0 Then
MsgBox "Aucun bordereau manquant à ce jour.", vbInformation, "Aucun
bordereau manquant"
Range("A65536").End(xlUp)(2).Select
Else
If rep > 0 Then
MsgBox "A ce jour, il y a " & t & " bordereaux émis et non reçus.",
vbInformation, "Nombre de bordereaux émis et non reçus"
Range("A1").Select
MsgBox rep, vbInformation, "Il s'agit des numéros suivant : "
End If