XL 2016 Copier coller des valeurs d'une feuille vers une autres

Arthur.clb

XLDnaute Nouveau
Bonjour tout le monde,
Je suis en stage et je suis confronté à un petit problème car je dois à l'aide d'une macro copier une cellule spécifique de la feuille "tablo" vers une la première case vide de la colonne n°6 (entre la ligne 6 et 20) de la feuille "B38". C'est surement tout bête et très simple mais je rencontre quelques difficultés; voici mon code:

VB:
Sub MACROB38()
Dim i As Integer

Application.ScreenUpdating = False ' L'écran reste figé
With Sheets("B38")
    For i = 9 To 20
    Sheets("tablo").Select
        If .Cells(i, 6) = "" Then
        .Cells(i, 6) = Cells(3, 4)
        End If
   Next i
End With
End Sub

Merci d'avance
 

Calvus

XLDnaute Barbatruc
Bonjour,

Comme ceci peut être
VB:
Sub MACROB38()
Dim i As Integer

Application.ScreenUpdating = False ' L'écran reste figé
    For i = 9 To 20
        With Sheets("B38")
                If .Cells(i, 6) = "" Then
                .Cells(i, 6) = sheets("tablo").Cells(3, 4)
                End If
        End With
   Next i
End Sub

Non testé car pas de fichier..

A+
 

Arthur.clb

XLDnaute Nouveau
Bonjour,
Il faut copier une valeur spécifique du tableau de la feuille "tablo" vers la première case vide de la colonne n°6 de la feuille B38.
La valeur devra être copier 1 seule fois et non pas jusqu'à i=20. Car j'arrive a copier mais il copie jusqu'à i=20. Voici la nouvelle version de mon code (je ne suis pas loin mais je bloque)
VB:
Sub MACROB38()
Dim i As Integer
Dim col As String

Application.ScreenUpdating = False ' L'écran reste figé
col = "F"
    For i = 9 To 20
        With Sheets("B38")
                If .Cells(i, col) = "" Then
                .Cells(i, 6) = Sheets("tablo").Cells(13, 3)
                Else
                i = i + 1
                End If
        End With
    Next i
End Sub

Merci d'avance et désolé pour le temps que cela vous prend
 

Calvus

XLDnaute Barbatruc
Re,

Merci d'avance et désolé pour le temps que cela vous prend

La question n'est pas là. La question est qu'il est pénible de devoir deviner ce que l'on ne nous dit pas, et qu'il faille s'y prendre à plusieurs reprises pour quelque chose qui aurait pu être réglé du 1er coup..

Donc comme ceci :
VB:
Sub MACROB38()
Dim i As Integer
Dim col As String

Application.ScreenUpdating = False ' L'écran reste figé
col = "F"
    For i = 9 To 20
        With Sheets("B38")
                If .Cells(i, col) = "" Then
                .Cells(i, 6) = Sheets("tablo").Cells(13, 3): Exit Sub
                Else
                End If
        End With
    Next i
End Sub

A+
 

Discussions similaires

Réponses
17
Affichages
760

Statistiques des forums

Discussions
311 711
Messages
2 081 794
Membres
101 817
dernier inscrit
carvajal