Condition : Copier une cellule

Résolu/Fermé
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 - 25 juin 2015 à 16:38
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 - 26 juin 2015 à 10:32
Bonjour,

Ci-joint mon fichier anonymé : https://www.cjoint.com/c/EFzoIkIeUnf

En fait, j'aurais besoin d'avoir le code tiers (dans la colonne A et H, exemple AAAAAAAA) dans la colonne D sur les lignes qui ne sont pas en gras. Par contre, il faut que cela s'arrête dès qu'on change de tiers. En gros, chaque ligne pas en gras doit avoir son code tiers dans la colonne D de la ligne. Je n'arrive pas à trouver de solution.

Merci d'avance pour votre aide.

Cordialement.

6 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
25 juin 2015 à 17:10
Bonjour Kuartz, bonjour le forum,

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

0
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
25 juin 2015 à 17:25
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.
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
26 juin 2015 à 09:33
Bonjour Kuartz, bonjour le forum,

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

0
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
26 juin 2015 à 09:41
Bonjour tout le monde.

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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
26 juin 2015 à 10:04
Bonjour Kuartz, bonjour le forum,

Le dernier que je t'ai proposé ne convient pas ?...
0
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
26 juin 2015 à 10:32
Si, parfaitement bien.

Je suis désolé j'ai envoyé ma réponse sans lire la tienne... Je suis fatigué.

Merci encore. Tu m'as énormément aidé pour tout.

Cordialement.
0