IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Verification de la forme d'une cellule avec IF


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 103
    Par défaut Verification de la forme d'une cellule avec IF
    Bonjour,

    Je souhaite verifier qu'une cellule soit de la forme "S *", les cellules ou s'applique le code sont de la forme S "numero de semaine".
    Actuellement j'utilise le code suivant (qui ne fonctionne pas):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(lig, 1) = "S *" Then

  2. #2
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonsoir ,

    si par forme "S *" tu entends qui commence par "S " tu peu utiliser l'opérateur Like., ou bien tester les 2 premier caractére de ta chaine
    *
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if left(Cells(lig, 1),2)= "S " then
    tu dis quoi.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 103
    Par défaut
    Super ca fonctionne, j'ai utilisé la solution des deux premiers caracteres.

    Par contre autre petit soucis, je souhaite selectionner des lignes de la facon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    lig = ActiveCell.Row
    ligfin = lig + 7
    ligdeb = lig + 1
    If Left(Cells(lig, 1), 2) = "S " Then
        Rows("ligdeb:ligfin").Select
    Il y a un probleme de syntaxe dans la derniere ligne, j'ai essayé pas mal de chose mais rien ne fonctionne.

  4. #4
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Toujours la même question pourquoi sélectionner ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rows(ligdeb & ":" & ligfin).Select

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 103
    Par défaut
    En fait tout c'est question pour ce petit code, qui me sert à masquer ou afficher des lignes lorsqu'il y a un clic droit sur une cellule de la colonne A si les deux premiers caractéres sont "S ".
    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
     
    Dim Isect As Range
    Dim macel As Range
    Dim b As Integer
     
    Set macel = Range("a1:a1000")
    If Not Application.Intersect(macel, Range(Target.Address)) Is Nothing Then
        Target.Value = UCase(Target.Value)
        lig = ActiveCell.Row
        ligfin = lig + 7
        ligdeb = lig + 1
        If Left(Cells(lig, 1), 2) = "S " Then
            Rows(ligdeb & ":" & ligfin).Select
            If Rows(ligdeb & ":" & ligfin).EntireRow.Hidden = True Then
            Selection.EntireRow.Hidden = False
            Else:
            Selection.EntireRow.Hidden = True
            End If
        End If
        Cancel = True
    End If
    End Sub
    Maintenant tout fonctionne, merci pour ton aide.

  6. #6
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Donc pas besoin de sélectionner .

    par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        If Left(Cells(lig, 1), 2) = "S " Then
    Rows(LigDeb & ":" & LigFin).EntireRow.Hidden = Not Rows(LigDeb & ":" & LigFin).EntireRow.Hidden
     
        End If

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 103
    Par défaut
    OK super encore plus simple...
    On m'avait deja dit de faire attention avec "select"

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/01/2015, 16h45
  2. Mettre une couleur dans une cellule avec user form
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 10/01/2008, 12h12
  3. mise en forme d'une cellule ajouter avec insertRow
    Par vacknov dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/07/2007, 08h33
  4. Réponses: 1
    Dernier message: 08/03/2006, 20h07
  5. [html] insertion d 1 image dans une cellule avec taille en %
    Par hijodelanoche dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 19/01/2006, 00h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo