Stopper l'incrémentation d'une cellule quand celle ci est rempli

nihao38

XLDnaute Nouveau
Bonjour,

Voilà mon petit souci, pour l'instant mon codage vba me permet de d'ouvrir un autre classeur xls, et de copier une cellule précise, ensuite sur le fichier de la macro il va lire une plage précise et l’inscrire dans la première cellule vide. Le problème c'est qu'il le copie dans toutes les cellules vides de la plage. Or je voudrais qu'il trouve la première cellule vide et qu'il copie la cellule puis qu'il s'arrête

Code:
Dim wkDest As Workbook
Dim i As Long
 'appel le fichier à ouvir et dont on veut copier la cellule
 
 Set wkDest = Application.Workbooks.Open(Application.GetOpenFilename)

'incrémentation de la ligne
 With ThisWorkbook.Sheets("CSM [SAISIE]")
 
        For i = 2 To 17
            If .Cells(10, i).Offset(0, 1) = "" Then .Cells(10, i).Value = wkDest.Sheets("CE P1").Range("b11").Value
          
        Next

End With

'ferme le fichier sans le sauvergarder
wkDest.Close False

j'ai essayé avec un exit for mais il s'arrête trop tôt et ne copie rien

merci d'avance
 
Dernière modification par un modérateur:

JM27

XLDnaute Barbatruc
Re : Stopper l'incrémentation d'une cellule quand celle ci est rempli

Bonjour
peut ètre comme cela

Code:
Dim wkDest As Workbook
Dim i As Long
 'appel le fichier à ouvir et dont on veut copier la cellule
 
 Set wkDest = Application.Workbooks.Open(Application.GetOpenFilename)

'incrémentation de la ligne
 With ThisWorkbook.Sheets("CSM [SAISIE]")
 
        For i = 2 To 17
            If .Cells(10, i).Offset(0, 1) = "" Then
            .Cells(10, i).Value = wkDest.Sheets("CE P1").Range("b11").Value
            Exit for
            End If
          
        Next

End With

'ferme le fichier sans le sauvergarder
wkDest.Close False
 
Dernière modification par un modérateur:

Discussions similaires

Réponses
2
Affichages
145
Réponses
6
Affichages
296
Réponses
12
Affichages
559

Statistiques des forums

Discussions
312 169
Messages
2 085 909
Membres
103 032
dernier inscrit
etima