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 :

l'expression offset sur VBA Excel [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 21
    Par défaut l'expression offset sur VBA Excel
    Salut le forum,

    je débute sur vba excel, et j'aimerai avoir une explication sur l'expression suivante : 'Cel.Offset(0, 3) > 1'

    Normalement l'expression ( cel.offset(0,3)) permet de décaler la cellule 'Cel' de 0 lignes à la 3 eme colonne, elle contient une adresse normalement
    pourquoi dire quelle serait >1?

    je vous envois ce bout de code:
    merci d'avance pour l'aide,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
     For Each Cel In .Range("B2:B" & .Range("B" & Rows.Count).End(xlUp).Row)
                Set C = WsC.Range(WsC.Cells(1, 1), WsC.Cells(1, Columns.Count).End(xlToLeft)).Find(Cel, , xlValues, xlWhole)
                If Not C Is Nothing Then
                    If Cel.Offset(0, 3) > 1 And Cel.Offset(0, 4) > 1 Then
                        Ligne = Cel.Offset(0, 3)
                        For i = 1 To Cel.Offset(0, 4)
                            WsC.Cells(Ligne, C.Column) = 1
                            Ligne = Ligne + 1
                        Next i
                    End If
                End If
            Next Cel

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    C'est parce que la propriété Value est implicite dans la cas pour un objet Range.

    De même, quand tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2") = Range("A1") + 1
    C'est l'équivalent de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2").Value = Range("A1").Value + 1
    Offset renvoie un objet Range, il est donc traité comme tel.

  3. #3
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonjour
    on ne dit pas qu'elle est superieure a 1, on demande.
    La condition if verifie si la valeur de offset(0,3) est superieur a 1

  4. #4
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 21
    Par défaut
    Citation Envoyé par keygen08 Voir le message
    Bonjour
    on ne dit pas qu'elle est superieure a 1, on demande.
    La condition if verifie si la valeur de offset(0,3) est superieur a 1
    Bonjour,

    Oui effectivement c'est une condition if, j'avais mis le code après.

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 21
    Par défaut
    Citation Envoyé par Menhir Voir le message
    C'est parce que la propriété Value est implicite dans la cas pour un objet Range.

    De même, quand tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2") = Range("A1") + 1
    C'est l'équivalent de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2").Value = Range("A1").Value + 1
    Offset renvoie un objet Range, il est donc traité comme tel.
    Merci beaucoup!

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

Discussions similaires

  1. Mot de passe sur VBA Excel
    Par vietzims dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/05/2008, 09h26
  2. Livre sur VBA excell
    Par Mr_JF dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/01/2008, 08h57
  3. help sur VBA excel
    Par soffy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/05/2007, 11h49
  4. Réponses: 3
    Dernier message: 09/04/2006, 09h10

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