Condition : Copier une cellule
Résolu
Kuartz
Messages postés
852
Date d'inscription
Statut
Membre
Dernière intervention
-
Kuartz Messages postés 852 Date d'inscription Statut Membre Dernière intervention -
Kuartz Messages postés 852 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Condition : Copier une cellule
- Excel cellule couleur si condition texte - Guide
- Excel condition ou - Guide
- Excel soustraction avec condition ✓ - Forum Excel
- Excel champ calculé avec condition - Forum Excel
- Nbval avec condition - Forum Excel
6 réponses
Bonjour Kuartz, bonjour le forum,
Essaie comme ça :
Essaie comme ça :
Sub Macro1() Dim DL As Integer 'déclare la variable DL (Dernière Ligne) Dim I As Integer 'déclare la variable I (Incrément) DL = Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (=A) For I = 1 To DL 'boucle sur toutes les lignes I 'si la cellule colonne 1 de la ligne I n'est pas en gras, coupe la cellule en colonne 6 et la colle en colonne 4 If Cells(I, 1).Font.Bold = False Then Cells(I, 6).Cut Cells(I, 4) Next I 'prochaine ligne de la boucle End Sub
Merci beaucoup.
Cependant, en fait, la colonne F doit rester telle quelle. Elle ne peut pas être coupée. Il faudrait copier les choses en gras de la colonne A sur les colonnes D des lignes qui ne sont pas en gras.
Je vais te remettre un autre fichier test un peu plus explicite, avec ce qu'il faudrait qu'il apparaisse en exemple sur les 20 premières lignes.
Merci de ta patience.
https://www.cjoint.com/c/EFzpy0hgrMf
Cordialement.
Cependant, en fait, la colonne F doit rester telle quelle. Elle ne peut pas être coupée. Il faudrait copier les choses en gras de la colonne A sur les colonnes D des lignes qui ne sont pas en gras.
Je vais te remettre un autre fichier test un peu plus explicite, avec ce qu'il faudrait qu'il apparaisse en exemple sur les 20 premières lignes.
Merci de ta patience.
https://www.cjoint.com/c/EFzpy0hgrMf
Cordialement.
Bonjour Kuartz, bonjour le forum,
Essaie comme ça :
Essaie comme ça :
Sub Macro1() Dim DL As Integer 'déclare la variable DL (Dernière Ligne) Dim I As Integer 'déclare la variable I (Incrément) Dim V As String DL = Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (=A) For I = 1 To DL 'boucle sur toutes les lignes I If Cells(I, 1) <> "" Then 'condition 1 : si la cellule en colonne 1 n'est pas vide If Cells(I, 1).Font.Bold = True Then 'condition 2 : si la police de la cellule en colonne 1 est "Gras" V = Cells(I, 1).Value 'récupere la valeur de la cellule dans la variable V Else 'sinon Cells(I, 4).Value = V 'renvoie la valeur de la varialbe V dans la cellule colonne 4 Cells(I, 4).Font.Bold = True 'applique la police "Gras" End If 'fin de la condition 2 End If 'fin de la condition 1 Next I 'prochaine ligne de la boucle End Sub
Bonjour tout le monde.
Ce code ne marche pas je comprend pas.
Ce code ne marche pas je comprend pas.
Sub Macro1() Dim DL As Integer 'déclare la variable DL (Dernière Ligne) Dim I As Integer 'déclare la variable I (Incrément) DL = Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (=A) For I = 1 To DL 'boucle sur toutes les lignes I 'si la cellule colonne 1 de la ligne I n'est pas en gras, copie la cellule en colonne 1 et la colle en colonne 4 If Cells(I, 1).Font.Bold = True Then Cells(I, 1).Copy Cells(I + 1, 4) If Cells(I, 1).Font.Bold = False And Cells(I, 1).Value <> "" And Cells(I + 1, 1).Value <> "" And Cells(I + 1, 1).Font.Bold = False Then Cells(I - 1, 4).Copy Cells(I, 4) Next I 'prochaine ligne de la boucle End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question