Boucle While excel VBA

Résolu/Fermé
Prevan - 3 août 2010 à 11:11
 Prevan - 3 août 2010 à 14:51
Bonjour,

ce forum m'a déjà retiré une épine du pied, cette fois c'est un sapin... alors voici ce que je veux faire :

Si il y a quelque chose dans la cellule A1 -> copier cette valeur et la coller en A2
Si il y a quelque chose dans la cellule B1 -> copier cette valeur et la coller en B2
Ainsi de suite jusqu'à ce que la celle #1 soit vide.

J'imagine qu'il me faudrait une boucle "While" je pense.

Genre :

While #1 not empty, do "blablah"

Mais j'ai vachement de mal à programmer en VBA.

Si quelqu'un pouvait me construire ce bout de code, je me chargerai de remplir les lignes d'actions.

Merci beaucoup !

A voir également:

2 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
3 août 2010 à 12:02
Bonjour,

Dim derCol As Long
Dim i As Long

    derCol = Sheets(1).Range("IV1").End(xlToLeft).Column
    For i = 1 To derCol
        If Cells(1, i).Value <> "" Then
            Cells(2, i).Value = Cells(1, i).Value
        End If
    Next i


;o)
1
Merci beaucoup ! Ca fait tellement plaisir d'avoir une réponse en si peu de temps qui débloque.

A plus tard !
0
J'ajoute une suite au problème... parce que j'ai un peu surestimé mes capacités à adapter ce code à ce que je veux faire.

Autre problème donc :

Je veux coupler la fonction recherche et copier coller. Le problème est que les recherches à effectuer varient suivant la feuille où il faut exécuter la macro. Donc :

J'ai un tableau sur feuille1 dont la première ligne IV1 correspond à des libellés (leur nombre n'est pas défini), et sous chaque libellé, une colonnes de chiffres dont la hauteur n'est pas défini.

Sur une autre feuille2, j'ai une ligne IV1 avec différents libellés (leur nombre n'est pas défini non plus). Je veux copier/coller, sous les libellés de la feuille2, la colonne de chiffres correspondant au même libellé de la feuille1.

Exemple :

Feuille1
A1 : Pouet ; B1 : Tût ; C1 : Truc
A2 : 1 ; B2 ; 3 ; C2 : 5

Feuille2
A1 : Tût

Dans ce cas, je veux que ma macro colle en A2 de la feuille2 le chiffre "3".

J'espère que j'ai été clair.

ATTENTION, il faut que toute le code VBA soit relatif, parce qu'il n'y a aucune taille de tableau, colonne, ligne, nombre de libellé et surtout nom des libellés qui sont préalablement connus.

Merci beaucoup, j'espère que vous allez pouvoir me filer encore un coup de main.
1