Copier et coller jusqu'à la valeur suivante et recommencer
Bonjour à tous,
Tout d'abord, je vous remercie pour votre aide précieuse, depuis quelques temps
J'aimerai vous soumettre un petit souci si quelqu'un peut m'aider, j'ai l'impression que c'est du basique mais étant novice je bloque un peu,
Alors je vous explique rapidement :
J'ai une valeur issue d'une formule dans la cellule C28, et j'aimerai bien la recopier (en valeur, pas la formule) jusqu'à la prochaine cellule non vide (dans mon exemple C42), et recommencer l'opération jusqu’à la ligne 16700 dans mon cas.
je joins le fichier excel à mon message,
J'avais commencer quelques chose, mais je suis perdu
Sub REPTER()
Dim lastRow As Integer
Dim valeur As String
'lastRow Range = ("C;D;E")
'valeur Range = ("C;D;E")
' REPTER Macro
Worksheets(1).Activate
lastRow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
'Cells Range = ("C;D;E")
For i = 27 To lastRow
If Cells(i, 2).Value = "" And Cells(i, 1) <> "" Then
valeur = Cells(i, 1).Value
Cells(i, 1).Value = ""
ElseIf Cells(i, 2).Value <> "" And Cells(i, 1) = "" Then
Cells(i, 1).Value = valeur
ElseIf Cells(i, 2).Value = "" And Cells(i, 1) = "" Then
Cells(i, 1).Value = ""
End If
Next i
'
End Sub
Vous remerciant d'avance,
Bonjour,
Alors je vous explique rapidement :
J'ai une valeur issue d'une formule dans la cellule C28, et j'aimerai bien la recopier (en valeur, pas la formule) jusqu'à la prochaine cellule non vide (dans mon exemple C42), et recommencer l'opération jusqu’à la ligne 16700 dans mon cas.
C'est expliqué peut-être trop rapidement
Tu nous parles de C28 et dans ton fichier ça parle de K18 !!!
Bonjour Bruno,
Merci pour ton intérêt,
En effet, je réexplique :
J'aurai aimé que la Macro s'applique aux colonnes C,D,E
à partir de ligne 2
Exemple :
Dans la cellule C2, la valeur est "APR"
J'aimerai bien que ma macro copie et colle cette valeur jusqu'à la cellule C16 la ou il y'a l'autre valeur "ARN" et recopier celle-ci jus'à la prochaine, ainsi de suite
et appliquer exactement la même règle à la colonne D et E
Ce que j'ai mis dans les colonnes I à L c'est du manuel fait dans l'intérêt de montrer où est ce je veux aller
J'espère que c'est un peu plus claire cette fois-ci
Merci
Re,
Ok j'ai mieux compris, voici un code compréhensible et qui fonctionne
Sub RemplirValeurs()
Dim Fae As String, MemFae As String, MemExt As String
Dim LRow As Long, nRow As Long
Dim Sht As Worksheet
Dim Site As String
' Définir la feuille de travail
Set Sht = ThisWorkbook.Sheets("Feuil1")
' Trouver la dernière ligne
LRow = Sht.Range("A" & Rows.Count).End(xlUp).Row
' Initialiser les variables
Site = Sht.Range("C2")
Fae = "": MemFae = "": Ext = "": MemExt = ""
' Parcourir les lignes
For nRow = 3 To LRow
' Si le site est vide
If Sht.Range("C" & nRow) = "" Then
Sht.Range("C" & nRow) = Site
Else
' Sinon, Nouveau site
Site = Sht.Range("C" & nRow)
' Vider la mémoire de FAE est EXT
MemFae = "": MemExt = ""
End If
' Vérifier les FAE
Fae = Sht.Range("D" & nRow)
' Si la FAE n'est pas vide
If Fae <> "" Then
' Mémoriser les infos
MemFae = Sht.Range("D" & nRow)
MemExt = Sht.Range("E" & nRow)
ElseIf MemFae <> "" Then
' Sinon inscrire les infos
Sht.Range("D" & nRow) = MemFae
Sht.Range("E" & nRow) = MemExt
End If
Next nRow
End Sub
@+
Bonjour Bruno,
Je te remercie énormément,
C'est parfait