VBA pas plus simple ?
Fermé
ya_v_ka
Messages postés
28
Date d'inscription
lundi 27 septembre 2004
Statut
Membre
Dernière intervention
9 octobre 2004
-
29 sept. 2004 à 13:50
ya_v_ka Messages postés 28 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 9 octobre 2004 - 29 sept. 2004 à 18:08
ya_v_ka Messages postés 28 Date d'inscription lundi 27 septembre 2004 Statut Membre Dernière intervention 9 octobre 2004 - 29 sept. 2004 à 18:08
A voir également:
- VBA pas plus simple ?
- Iphone 14 simple - Guide
- Simple ocr - Télécharger - Bureautique
- Iphone 13 simple - Guide
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
- Organigramme simple - Guide
2 réponses
DaNot
Messages postés
221
Date d'inscription
mardi 30 septembre 2003
Statut
Membre
Dernière intervention
4 novembre 2005
163
29 sept. 2004 à 14:17
29 sept. 2004 à 14:17
Salut,
En effet, le code est impressionnant !
tu peux utiliser l'objet Cells qui selectionne une cellule en indiquant le numero de ligne et le numero de colonne.
Ainsi, tu peux remplacer :
par
Remarque : Si dans la cellule [F22], il y autre chose qu'un numerique, tu risque d'avoir une erreur. Si ca peut arriver, il faut faire un test sur la valeur avec la fonction VarType.
DaNot
un Libre ouvert à la source ...
En effet, le code est impressionnant !
tu peux utiliser l'objet Cells qui selectionne une cellule en indiquant le numero de ligne et le numero de colonne.
Ainsi, tu peux remplacer :
If jsold = "1" Then ... Beep End If
par
Cells(20 + jsold, 49).EntireRow.Hidden = True Cells(59 + jsold, 88).EntireRow.Hidden = False
Remarque : Si dans la cellule [F22], il y autre chose qu'un numerique, tu risque d'avoir une erreur. Si ca peut arriver, il faut faire un test sur la valeur avec la fonction VarType.
DaNot
un Libre ouvert à la source ...
DaNot
Messages postés
221
Date d'inscription
mardi 30 septembre 2003
Statut
Membre
Dernière intervention
4 novembre 2005
163
29 sept. 2004 à 16:36
29 sept. 2004 à 16:36
Dans ce cas, essayes plutot :
Private Sub worksheet_activate()
jsold = Worksheets("BD").[F22].Value
ActiveSheet.Unprotect Password:="ZAZA"
Rows("20:49").EntireRow.Hidden = False
Rows("59:88").EntireRow.Hidden = True
If jsold < 31 Then
Rows((20 + jsold - 1) & ":49").EntireRow.Hidden = True
Rows((58 + jsold) & ":88").EntireRow.Hidden = False
Else
Beep
End If
ActiveSheet.Protect Password:="ZAZA", DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("F18").Select
End Sub
En relisant ton code, je m'apercois que je n'avais pas tres bien compris ce que tu voulais faire.
DaNot
un Libre ouvert à la source ...
Private Sub worksheet_activate()
jsold = Worksheets("BD").[F22].Value
ActiveSheet.Unprotect Password:="ZAZA"
Rows("20:49").EntireRow.Hidden = False
Rows("59:88").EntireRow.Hidden = True
If jsold < 31 Then
Rows((20 + jsold - 1) & ":49").EntireRow.Hidden = True
Rows((58 + jsold) & ":88").EntireRow.Hidden = False
Else
Beep
End If
ActiveSheet.Protect Password:="ZAZA", DrawingObjects:=True, Contents:=True, Scenarios:=True
Range("F18").Select
End Sub
En relisant ton code, je m'apercois que je n'avais pas tres bien compris ce que tu voulais faire.
DaNot
un Libre ouvert à la source ...
ya_v_ka
Messages postés
28
Date d'inscription
lundi 27 septembre 2004
Statut
Membre
Dernière intervention
9 octobre 2004
29 sept. 2004 à 18:08
29 sept. 2004 à 18:08
merci pour le temps investi pour moi, et là je me tappe la tête contre les murs, j'ai testé 15 - 20 solutions sans tomber sur les parenthèses & ... et le reste
merci encore et merci à tous ceux qui ont aussi essayé de trouver...
ya'v
merci encore et merci à tous ceux qui ont aussi essayé de trouver...
ya'v
29 sept. 2004 à 14:32
quant au problème du non-numérique, je suis couvert, c'est juste la différence entre une date de début et de fin (+1 pour que tous les jours soient pris en considération !) et j'aurais un message d'erreur dejà sur la première feuille en cas de fausse entrée.
Encore merci et longue vie aux forum's
ya'v
29 sept. 2004 à 15:57
en effet si jsold = 24
il me masque la ligne 44 et affiche la 83 au lieu de masquer de 44 à 49 et d'afficher de 83 à 88
ai déjà tenté une dizaine de bidouillages sans succès...
et en plus je n'arrive pas à avoir une vérification ou un message d'erreur si jsold>31...
merci en tous cas pour la solution proposée qui me mettra peut-être un jour sur la bonne voie
ya'v