je cherche à créer un programme qui supprime les colonnes dont la première ligne affiche un mois qui n'est pas décembre, mars, juin ou septembre.
J'ai codé ceci :
Sub trimestre()
Dim numero As Long
mauvais = 2014
While mauvais <= 2025
numero = 6
While numero <= 50
janvier = "31/01/" & mauvais
fevrier = "28/02/" & mauvais
avril = "30/04/" & mauvais
mai = "31/05/" & mauvais
juillet = "31/07/" & mauvais
aout = "31/08/" & mauvais
octobre = "31/10/" & mauvais
novembre = "30/11/" & mauvais
If Cells(1, numero) = janvier Or fevrier Or avril Or mai Or juillet Or aout Or octobre Or novembre Then
Columns(numero).Select
Selection.Delete shift:=xlToLeft
Else
numero = numero + 1
End If
Wend
mauvais = mauvais + 1
Wend
End Sub
Cependant, j'ai une erreur de type 13 (imcompatibilité de type) au niveau du Columns(numero).Select. Je ne comprend pas trop pourquoi.
Edit : le problème semble provenir de la ligne d'au dessus, car même en suprimant celle-ci le problème subsiste.
Si vous pouviez m'éclairer se serait gentil à vous.
Merci
Message édité par lindraks le 21-01-2015 à 09:24:06
Publicité
Posté le 20-01-2015 à 18:07:06
olivthill
Posté le 20-01-2015 à 21:53:25
Au lieu de
If Cells(1, numero) = janvier Or fevrier Or avril Or mai Or juillet Or aout Or octobre Or novembre Then
Ecrire
If Cells(1, numero) = janvier Or Cells(1, numero) = fevrier Or Cells(1, numero) = avril Or Cells(1, numero) = mai Or Cells(1, numero) = juillet Or Cells(1, numero) = aout Or Cells(1, numero) = octobre Or Cells(1, numero) =novembre Then
Le Cobol permet d'avoir des conditions abrégées comme, If Cells(1, numero) = janvier Or fevrier, mais pas les autres langages.
lindraks
Epicier // Audencia
Posté le 21-01-2015 à 09:20:29
Bonjour,
merci pour votre réponse, il n'y a plus d'erreur.
Cependant mes définitions des mois semblent fausses car il ne les supprime pas. alors que si je remplace janvier par un simple "31/01/2015" dans la condition il supprimera la première colone des dates. auriez vous une idée.
Par avance merci.
Message édité par lindraks le 21-01-2015 à 10:42:43