Texte sur les lignes dont la colonne precedente est fusionnée
nanoo79
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
nanoo79 Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
nanoo79 Messages postés 34 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans ma macro je demande de mettre un texte dans une cellule selon la reponse a deux conditions. Ca j'ai reussi a faire mais je ne parviens pas a faire en sorte que ce texte soit dupliqué sur toutes les lignes qui correspondent a une cellule fusionnés sur une colonne precedente.
Je vous explique:
Si la cellule cells (J,10) a un texte de couleur rouge et que la valeur de la cells (J,6) est egale à zero alors la cels(J,14) doit avoir comme text "Unauthorized Deposit" mais ce text doit etre duppliquée sur toutes les lignes ou la cells(J,10) est fusionée
Voici mon code:
Auriez vous une idee de comment faire?
Merci beaucoup
Dans ma macro je demande de mettre un texte dans une cellule selon la reponse a deux conditions. Ca j'ai reussi a faire mais je ne parviens pas a faire en sorte que ce texte soit dupliqué sur toutes les lignes qui correspondent a une cellule fusionnés sur une colonne precedente.
Je vous explique:
Si la cellule cells (J,10) a un texte de couleur rouge et que la valeur de la cells (J,6) est egale à zero alors la cels(J,14) doit avoir comme text "Unauthorized Deposit" mais ce text doit etre duppliquée sur toutes les lignes ou la cells(J,10) est fusionée
Voici mon code:
Workbooks("Reporting Global.xlsx").Sheets("Reporting").Activate
Range("A1").Select
For J = Range("A60000").End(xlUp).Row To 1 Step -1
If Cells(J, 10).Font.Color = vbRed And Cells(J, 6).Value = 0 Then
Cells(J, 14).Value = " Unauthorized Deposit"
End If
Next J
For J = Range("A60000").End(xlUp).Row To 1 Step -1
If Cells(J, 10).Font.Color = vbRed And Cells(J, 6).Value > 0 Then
Cells(J, 14).Value = "Deposit in Excess"
End If
Next J
Auriez vous une idee de comment faire?
Merci beaucoup
A voir également:
- Texte sur les lignes dont la colonne precedente est fusionnée
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
- Formule somme excel colonne - Guide
- Transcription audio en texte word gratuit - Guide
23 réponses
Bonjour,
toutes les lignes ou la cells(J,10) est fusionée!!!!! petite explication svp
la couleur rouge est le resultat d'une MFC ????
une seule boucle suffit pour les deux test >0 et =0
toutes les lignes ou la cells(J,10) est fusionée!!!!! petite explication svp
la couleur rouge est le resultat d'une MFC ????
une seule boucle suffit pour les deux test >0 et =0
Je t'expliques dans mon fichier j'ai les differents comptes de mes clients avec une ligne par devises ca c'est la colonne H et dans la colonne J (qui equivaut a cells(J,10) j'ai la somme des montants des différents comptes devises. Cette cellule est fusionnée c'est a dire que si le client a 10 comptes de devises différentes la cellule dans la colonne J est fusionnée sur ces 10 lignes.
Je voudrais que mon commentaire s'inscrivent sur ces dix lignes avec mon code actuel il ne s'inscrit que sur une celle.
La couleur est mise avec un code plus haut dans la macro, la condition etant que si le montant est inferieur a -50000 le text s'affiche en rouge.
Il est tres probable que mon code ne soit pas optimal je suis debutante et tatonne sans aucune formation.
Je voudrais que mon commentaire s'inscrivent sur ces dix lignes avec mon code actuel il ne s'inscrit que sur une celle.
La couleur est mise avec un code plus haut dans la macro, la condition etant que si le montant est inferieur a -50000 le text s'affiche en rouge.
Il est tres probable que mon code ne soit pas optimal je suis debutante et tatonne sans aucune formation.
Re,
pour le compte de lignes, prendre une colonne sans cellules fusionnees.
ici j'ai pris la colonne F (6):
A+
pour le compte de lignes, prendre une colonne sans cellules fusionnees.
ici j'ai pris la colonne F (6):
Sub test1()
Workbooks("Reporting Global.xlsx").Sheets("Reporting").Activate
For J = Range("F60000").End(xlUp).Row To 1 Step -1
If Cells(J, 10).Font.Color = vbRed And Cells(J, 6).Value = 0 Then
Cells(J, 14).Value = " Unauthorized Deposit"
ElseIf Cells(J, 10).Font.Color = vbRed And Cells(J, 6).Value > 0 Then
Cells(J, 14).Value = "Deposit in Excess"
End If
Next J
End Sub
A+
Merci pour ton aide, je viens d'essayer mais cela ne fonctionne pas. Ca ne marque le texte que dans une seule ligne et pas dans toutes les lignes
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Chez moi ca marche. Pouvez-vous mettre votre fichier avec des donnees bidons sur :https://www.cjoint.com/
ne pas oublier de copier/coller le lien cree dans votre prochain message
Chez moi ca marche. Pouvez-vous mettre votre fichier avec des donnees bidons sur :https://www.cjoint.com/
ne pas oublier de copier/coller le lien cree dans votre prochain message
Voici le lien du fichier: https://www.cjoint.com/c/CLynteACqG4
J'ai supprimé quelques colonnes l'equivalent de cells (J,10) se trouve en cells(J,8) desormais.
J'ai supprimé quelques colonnes l'equivalent de cells (J,10) se trouve en cells(J,8) desormais.
Re,
Si je refais la fusion cellules, ca fonctionne !!!!! Comment faites-vous la fusion des cellules ?????
Il semblerait que le fonctionnement soit lie a cette operation de fusion. Je regarde a faire autrement
Si je refais la fusion cellules, ca fonctionne !!!!! Comment faites-vous la fusion des cellules ?????
Il semblerait que le fonctionnement soit lie a cette operation de fusion. Je regarde a faire autrement
Bonjour et bon Noel,
principe: tester si cellule fusionnee
adaptez les adresses cellules
A+
principe: tester si cellule fusionnee
adaptez les adresses cellules
Sub test1()
Workbooks("Reporting Global.xlsm").Sheets("Reporting").Activate
derlig = Range("A1000").End(xlUp).Row
For J = 2 To derlig
If Cells(J, "H").Font.Color = vbRed And Cells(J, 6).Value = 0 Then
'test si cellule fusionnee
If Cells(J, "H").MergeArea.Count > 1 Then
of7 = Cells(J, "H").MergeArea.Count - 1
'ecriture plage
Range("L" & J & ":L" & J + of7).Value = " Unauthorized Deposit"
'increment pointeur
J = J + of7
Else
Cells(J, "L").Value = " Unauthorized Deposit"
End If
ElseIf Cells(J, "H").Font.Color = vbRed And Cells(J, 6).Value > 0 Then
'test si cellule fusionnee
If Cells(J, "H").MergeArea.Count > 1 Then
of7 = Cells(J, "H").MergeArea.Count - 1
'ecriture plage
Range("L" & J & ":L" & J + of7).Value = " Deposit in Excess"
'increment pointeur
J = J + of7
Else
Cells(J, "L").Value = " Deposit in Excess"
End If
End If
Next J
End Sub
A+
heuuu c'est en francais que vous parler les gas psk moi j'ai rien compriiiiis ( oui elle et cool ma vie ) ps pour l'inutiliter de ce message svp ne pas en tenir compte ^^
Merci beaucoup, joyeux noel a toi egalement et desolee de ne pas avoir ete trop disponible hier.
J'ai essayé et ca ne foncitonne pas mais je ne suis pas sur d'avoir bien modifié l'adresse des cellules. Quand tu mets Range("L" & J &":L") Faut il que je remplace L par la lettre de la colonne ou son numero par rapport a Cells (J,14)?
Je recoit le fichier brut d'une extraction d'un systeme avec les cellules deja fusionnées.
J'ai essayé et ca ne foncitonne pas mais je ne suis pas sur d'avoir bien modifié l'adresse des cellules. Quand tu mets Range("L" & J &":L") Faut il que je remplace L par la lettre de la colonne ou son numero par rapport a Cells (J,14)?
Je recoit le fichier brut d'une extraction d'un systeme avec les cellules deja fusionnées.
Re,
Quand tu mets Range("L" & J &":L") Faut il que je remplace L Oui, car vous seule connaissez les colonnes de test et destination.
le code est: Range("L" & J & ":L" & J + of7).Value ou Cells(J, "L").Value suivant les test
Quand tu mets Range("L" & J &":L") Faut il que je remplace L Oui, car vous seule connaissez les colonnes de test et destination.
le code est: Range("L" & J & ":L" & J + of7).Value ou Cells(J, "L").Value suivant les test
Bonjour,
Désolée de revenir si tard sur le sujet, mais ma macro etait en suspens car le fichier generé par l'IT qui est a la base de cette macro la devait etre modifié et il vient juste d'etre livré.
J'ai donc bien remplacé les noms des colonnes, mais j'ai uen erreur 438 "Propriété ou methode non géré par cet objet sur la ligne
Saurais tu pourquoi il n'a pas de probleme avec cette ligne dans la premiere boucle mais en a un dans la deuxieme.
Merci beaucoup pour ton aide.
Désolée de revenir si tard sur le sujet, mais ma macro etait en suspens car le fichier generé par l'IT qui est a la base de cette macro la devait etre modifié et il vient juste d'etre livré.
J'ai donc bien remplacé les noms des colonnes, mais j'ai uen erreur 438 "Propriété ou methode non géré par cet objet sur la ligne
If Cells(K, 10).MergerArea.Count > 1 Thenapres le Else If
Workbooks("Reporting Global.xlsx").Sheets("Reporting").Activate
derlig = Range("A60000").End(xlUp).Row
For K = 2 To derlig
If Cells(K, 10).Font.Color = vbRed And Cells(K, 6).Value = 0 Then
'test si cellule est fusionnee
If Cells(K, 10).MergerArea.Count > 1 Then
of7 = Cells(K, 10).MergerArea.Count - 1
'ecriture plage
Range(14 & K & ":10" & K + of7).Value = "Unauthorized Deposit"
'increment pointeur
K = K + of7
Else
Cells(K, 14).Value = "Unauthorized Deposit"
End If
ElseIf Cells(K, 10).Font.Color = vbRed And Cells(K, 6).Value > 0 Then
'test si cellule est fusionnee
If Cells(K, 10).MergerArea.Count > 1 Then
of7 = Cells(K, 10).MergerArea.Count - 1
'ecriture plage
Range(14 & K & ":10" & K + of7).Value = "Deposit in Excess"
'increment pointeur
K = K + of7
Else
Cells(K, 14).Value = "Deposit in Excess"
End If
End If
Next K
Saurais tu pourquoi il n'a pas de probleme avec cette ligne dans la premiere boucle mais en a un dans la deuxieme.
Merci beaucoup pour ton aide.
Bonjour,
Non, mais par contre:
'ecriture plage que j'ai ecrit
Range("L" & J & ":L" & J + of7).Value = " Unauthorized Deposit"
'ecriture plage que vous avez ecrit ne peut pas marcher
Range(14 & K & ":10" & K + of7).Value = "Unauthorized Deposit"
quelles sont les nouvelles colonnes????? A priori J a la place de H mais qui remplace L
Non, mais par contre:
'ecriture plage que j'ai ecrit
Range("L" & J & ":L" & J + of7).Value = " Unauthorized Deposit"
'ecriture plage que vous avez ecrit ne peut pas marcher
Range(14 & K & ":10" & K + of7).Value = "Unauthorized Deposit"
quelles sont les nouvelles colonnes????? A priori J a la place de H mais qui remplace L
Bonjour,
Sub test1()
Workbooks("Reporting Global.xlsx").Sheets("Reporting").Activate
derlig = Range("A60000").End(xlUp).Row
For K = 2 To derlig
If Cells(K, 10).Font.Color = vbRed And Cells(K, 6).Value = 0 Then
'test si cellule est fusionnee
If Cells(K, 10).MergerArea.Count > 1 Then
of7 = Cells(K, 10).MergerArea.Count - 1
'ecriture plage
Range("N" & K & ":N" & K + of7).Value = " Unauthorized Deposit"
'increment pointeur
K = K + of7
Else
Cells(K, 14).Value = "Unauthorized Deposit"
End If
ElseIf Cells(K, 10).Font.Color = vbRed And Cells(K, 6).Value > 0 Then
'test si cellule est fusionnee
If Cells(K, 10).MergerArea.Count > 1 Then
of7 = Cells(K, 10).MergerArea.Count - 1
'ecriture plage
Range("N" & K & ":N" & K + of7).Value = " Unauthorized Deposit"
'increment pointeur
K = K + of7
Else
Cells(K, 14).Value = "Deposit in Excess"
End If
End If
Next K
End Sub
Merci,
J'ai modifié mais j'ai une erreur 438 Propriété ou méthode non gérée par cet objet;
Le debogage pointe sur la ligne de code apres le ELseIF
Je ne comprends pas pourquoi il accepre ce code une fois et pas la deuxieme.
J'ai modifié mais j'ai une erreur 438 Propriété ou méthode non gérée par cet objet;
Le debogage pointe sur la ligne de code apres le ELseIF
If Cells(K, 10).MergerArea.Count > 1 Then
Je ne comprends pas pourquoi il accepre ce code une fois et pas la deuxieme.