Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

creer une boucle

GHISLAIN

XLDnaute Impliqué
bonjour le forum,
j'utilise ce code(une partie ici) pour transferer des donnees dans un classeur fermé.
je voudrais savoir s'il est possible de creer une boucle sur ce type de code


.fields etant la cellule de depart en colonne ou sont rangé les donnees .ex: .field(09) est la colonne J
.field(10) est la colonne K etc
.fields de (09) a (59) doivent recevoir les donnees de de Sheets("AVIS").Range("M5").Text
de M5 a M50


If Sheets("AVIS").Range("M5") <> "" Then
.Fields(9) = Sheets("AVIS").Range("M5").Text
End If
If Sheets("AVIS").Range("M6") <> "" Then
.Fields(10) = Sheets("AVIS").Range("M6").Text
End If

If Sheets("AVIS").Range("M7") <> "" Then
.Fields(11) = Sheets("AVIS").Range("M7").Text
End If
If Sheets("AVIS").Range("M8") <> "" Then
.Fields(12) = Sheets("AVIS").Range("M8").Text
End If

n'ayant que tres peu de reseau , veuillez m'excuser de ne joindre un fichier exemple


merci a tous de votre aide

cordialement

ghislain
 

Paf

XLDnaute Barbatruc
Re : creer une boucle

Bonjour

On a plus de fields (09 à 59 => 51 fields) que de données (M5 à M50 => 46 données (si je ne me suis pas trompé ) )

La boucle serait incomplète.

S'il s'agit d'une faute de frappe et qu'il y a autant de fields que de données à copier, a priori :

Code:
For i = 5 to 50
    If Sheets("AVIS").Range("M"  & i) <> "" Then
       .Fields(i+4) = Sheets("AVIS").Range("M" & i).Text
    End If
Next i

A+
 

GHISLAIN

XLDnaute Impliqué
Re : creer une boucle

Bonjour XLDnaute Accro ,


Effectivement il s'agit d'une faute de frappe .
Je viens de mettre en place le code que tu m'a proposé et celui ci fonctionne parfaitement .
Je te remercie de ton aide sur ce post

Cordialement

Ghislain
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…