[VBA] Boucle récup valeur

Résolu
digsaw_- Messages postés 537 Statut Membre -  
digsaw_- Messages postés 537 Statut Membre -
Bonjour,

Voila maintenant je revien pour une boucle qui parcour une colonne ( la colonne C de la feuill1) et qui récupére toutes les valeurs de cette colonne (sachant qu'on ne connait pas exactement le nombre de ligne..) et qui les écris dans la colonne C de la feuill2.

Merci d'avance



--
Digsaw
'Avoir une section fumer dans un restaurant, c'est comme avoir une section pisseur dans une piscine !'

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Dim Lig As Long, DrLig As Long
    With Sheets("Feuil1")
        DrLig = .Columns(3).Find("*", , , , xlByColumns, xlPrevious).Row
        For Lig = 2 to DrLig
            If .Cells(Lig, 3).Value <> "" Then
                Sheets("Feuil3").Cells(Columns(3).Find("*", , , , xlByColumns, xlPrevious).Row + 1, 3).Value = .Cells(Lig, 3).Value
            End If
        Next Lig
    End With

    ça te va?
    0
  2. digsaw_- Messages postés 537 Statut Membre 58
     
    Sa me va parfaitement ! Merci beaucoup pour ton aide ! Et ta rapidité !

    Si j'ai besoin je peux te MP ? car je suis une vrai quiche en VBA.. Merci encore
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Pour les MP, tu peux bien sur, mais c'est tellement plus sympa de faire partager à tous...
      0
    2. digsaw_- Messages postés 537 Statut Membre 58
       
      Okok tu as raison !

      Alors voici ... ^^

      C'est la même chose que tout à l'heure.. sauf que lorsque la boucle parcour la colonne 7 de la feuille 1 et qu'il trouve un x il faut que sa écrive dans la colonne 8 de la feuille 2 un : 1 et lorsque il ne trouve rien il écrit un 4.. si 5 cases vides sont trouvées d'affilées la boucle se termine c'est que c'est la fin de la colonne..
      0
    3. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      1- si 5 cases vides sont trouvées d'affilées la boucle se termine c'est que c'est la fin de la colonne.. Ben non. La fin de la colonne c'est la ligne de la dernière cellule non vide... En VBA : Columns(N°decolonne).Find("*", , , , xlByColumns, xlPrevious).Row
      2- il s'agit juste d'un test If blabla then...
      Donc :
      Dim Lig As Long, DrLig As Long
      With Sheets("Feuil1")
          DrLig = .Columns(7).Find("*", , , , xlByColumns, xlPrevious).Row
          For Lig = 2 to DrLig
              If UCase(.Cells(Lig, 7).Value) = "X" Then 'ici on compare en forçant les majuscules pour éviter les problèmes de saisie et casse...
                  Sheets("Feuil2").Cells(Lig, 8).Value = 1
              ElseIf .Cells(Lig, 7).Value = "" Then
                  Sheets("Feuil2").Cells(Lig, 8).Value = 4
              End If
          Next Lig
      End With
      0
    4. digsaw_- Messages postés 537 Statut Membre 58
       
      Super merci !
      0
    5. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      As tu pris la peine de comprendre le code ou juste fais un copié/collé?
      0