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

Excel Discussion :

[VBA-E] pb avec offset dans une boucle


Sujet :

Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [VBA-E] pb avec offset dans une boucle
    dans un doc à deux feuilles je voudrais copier le contenu de chaque cellule se situant une ligne en dessous de chaque cellule où apparait le le texte du TextBox1; mais le texte copié est celui de chaque cellule ou apparait le texte du TxtBox et non celui de la cellule une ligne en dessous malgré Offset (1,0)
    Merci du coup de main, mon code ci dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton1_Click()
    mess = TextBox1
    Dim CelleLa As Range
    For Each CelleLa In Worksheets("Feuil1").Range("A1:A1000").Cells
    If CelleLa.Value = CVar(mess) Then CelleLa.Value.Offset(1, 0).Copy
    ActiveSheet.Paste Destination:=Worksheets("Feuil2").Range("A1:A1000")
    Next
    UserForm1.Hide
    End Sub

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Offset s'applique à une cellule et pas à sa valeur...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut pb vba offset.value
    effectivement mais même en inversant avec:
    If CelleLa.Value = CVar(mess) Then CelleLa.Offset(1, 0).Value.Copyet non Value.Offset de manière à sélectionner "le texte de la cellule d'en dessous", le résultat reste le même.
    Quelquechose m'échappe...
    Merci d'avance

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    il y a des chose qui ne sont pas coherentes dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click()
    mess = TextBox1
    Dim CelleLa As Range
    For Each CelleLa In Worksheets("Feuil1").Range("A1:A1000").Cells
    If CelleLa.Value = CVar(mess) Then CelleLa.Offset(1, 0).CopyActiveSheet.Paste Destination:=Worksheets("Feuil2").Range("A1:A1000")Next
    UserForm1.Hide
    End Sub
    tu prend une colone dont tu examine les cellules disons val1 val2 val3
    admetons que la bonne occurence (mess)soit val1.
    quand tu trouve val1 tu copie val2 sur la feuille2 sur mille casesde la colonne A
    puis tu examine val2 puis val3
    admetons que val3 soit aussi = a mes
    a ce moment tu copie val4 au meme endraoit sur les milles premieres case de la colonne A, et donc en effaçant l'entrée précedente soit val2.
    je ne pense pas que ce soit ce que tu souhaite, tu ferais peut-etre bien d'explique ce que tu veux obtenir

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    a bien y penser, mais je peux me tromper, tu essaie d'écrire en feuille 2 les lignes en dessous des case qui ont la valeur mess
    disons que sur 10 lignes tu ais val1 val2 val3 val4 val1 val5 val6 val7 val1 val8
    le resultat à obtenir serais en feuil2 a1,a2 et a3
    val2 val5 et val8
    donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub essai()
    mess = "val1"
    Dim CelleLa As Range
    For Each CelleLa In Worksheets("Feuil1").Range("A1:A10").Cells
    If CelleLa.Value = CVar(mess) Then
    CelleLa.Offset(1, 0).Copy
    i = i + 1
    ActiveSheet.Paste Destination:=Worksheets("Feuil2").Range("A" & i)
    End If
    Next
    End Sub
    avec ça tu devrais t'arranger, et si c'est pas ça, a toi d'etre plus clair
    bon dimanche

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/08/2011, 01h41
  2. [XL-2007] Problème avec If dans une boucle
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/06/2011, 08h48
  3. Problème avec boutons dans une boucle
    Par CHAP26 dans le forum Flash
    Réponses: 2
    Dernier message: 03/06/2008, 14h28
  4. thread avec return dans une boucle
    Par Tanebisse dans le forum Général Java
    Réponses: 19
    Dernier message: 19/05/2008, 17h42
  5. Problème avec TNMSMTP dans une boucle.
    Par Orgied dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/04/2004, 10h19

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