VBA - variable à plusieurs valeurs possibles

debidebo67

XLDnaute Nouveau
Bonjour,

Voici le code, il est accepté mais ne fonctionne pas:confused:

pour résumer je lui demande soit une recherche de données par mois(1 mois bien précis) qui sera définit dans la Cells(1 ,16) ce qui fonctionne,
mais quand je lui demande une recherche sur toute l'année donc du mois 1, 2, 3 ... à 12 compris il ne m'affiche rien !

Mon écriture n'est pas adapté

If Sheets("Impayés").Cells(1, 16).Value = "0" Then
t = "1" Or "2" Or "3" Or "4" Or "5" Or "6" Or "7" Or "8" Or "9" Or "10" Or "11" Or "12"
Else: t = Sheets("Impayés").Cells(1, 16).Value
End If


Quelqu'un aurait-il une idée ?
j'ai essayé d'autre chose mais rien qui fonctionne.

Merci d'avance

la macro complète est la suivante :

Sub Impayés_miseàJour()

Dim i As Integer
Dim ligne1 As Long
Dim t As String

ActiveSheet.Unprotect
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

'afficher ttes les lignes
Rows("8:100").Select 'Selectionne la ligne
Selection.EntireRow.Hidden = False

Worksheets("Impayés").Range("B8:K100").ClearContents

If Sheets("Impayés").Cells(1, 16).Value = "0" Then
t = "1" Or "2" Or "3" Or "4" Or "5" Or "6" Or "7" Or "8" Or "9" Or "10" Or "11" Or "12"
Else: t = Sheets("Impayés").Cells(1, 16).Value
End If


i = 8

'données TVA 16.9 % et 7% confondues

If t <> "" Then
Range("C5").Select

For ligne1 = 7 To 1000
If Sheets("Base factures & paiements").Cells(ligne1, 24).Value = t And (Sheets("Base factures & paiements").Cells(ligne1, 20).Value = "Impayé" Or Sheets("Base factures & paiements").Cells(ligne1, 20).Value = "Faux") Then
'copie date facturation :
Sheets("Impayés").Cells(i, 2).Value = Sheets("Base factures & paiements").Cells(ligne1, 2).Value
'copie du nom du client :
Sheets("Impayés").Cells(i, 3).Value = Sheets("Base factures & paiements").Cells(ligne1, 3).Value
'copie le numéro de facture :
Sheets("Impayés").Cells(i, 4).Value = Sheets("Base factures & paiements").Cells(ligne1, 5).Value
'copie taux de TVA :
Sheets("Impayés").Cells(i, 5).Value = Sheets("Base factures & paiements").Cells(ligne1, 4).Value
'copie HT facturer:
Sheets("Impayés").Cells(i, 6).Value = Sheets("Base factures & paiements").Cells(ligne1, 6).Value
'copie TVA facturer:
Sheets("Impayés").Cells(i, 7).Value = Sheets("Base factures & paiements").Cells(ligne1, 7).Value
'copie TTC :
Sheets("Impayés").Cells(i, 8).Value = Sheets("Base factures & paiements").Cells(ligne1, 8).Value
'copie TTC restant à payer:
Sheets("Impayés").Cells(i, 9).Value = Sheets("Base factures & paiements").Cells(ligne1, 19).Value
'copie etat :
Sheets("Impayés").Cells(i, 10).Value = Sheets("Base factures & paiements").Cells(ligne1, 20).Value
'copie etat :
Sheets("Impayés").Cells(i, 11).Value = Sheets("Base factures & paiements").Cells(ligne1, 23).Value
i = i + 1
End If
Next
End If

Sheets("Impayés").Activate
Range("C8:K100").Select
Range("C5").Select

Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True, AllowSorting:=True

End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : VBA - variable à plusieurs valeurs possibles

Bonjour,

regarde peut être du coté des variants :
Code:
Dim t
t = Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12")

mais pas sûr que tu ais choisis la meilleure approche...

bon après midi
@+
 
Haut Bas