Mémoire du maximum d'une colonne pour chaque cellule
1 réponse
alesiom
Bonjour,
Je serais tr=E8s reconnaissant si qqn pouvait m'aider =E0 r=E9soudre ce
petit travail d'Excel avec Worksheet Calculate()
Prenons la feuil1:
------------------------
En colonne A : j'ai des nombres qui varient en provenance d'une autre
application. (ce n'est pas l'utilisateur qui les change)
En colonne B : je souhaiterais conserver le maximum pris par les
valeurs de la colonne A.
J'ai essay=E9 la syntaxe ci-dessous mais le probl=E8me est qu'Excel copie
toutes les valeurs des colonne A vers la colonne B et non cellule par
cellule.
Merci beaucoup par avance !
Private Sub Worksheet_Calculate()
On Error Resume Next
If Range("A:A").Value > Range("B:B").Value Then
Range("B:B").Value =3D Range("A:A").Value
End If
End Sub
Par cons=E9quent une solution simple revient =E0 =E9crire plein de lignes
de code comme :
Private Sub Worksheet_Calculate()
On Error Resume Next
If Range("A1").Value > Range("B1").Value Then
Range("B1").Value =3D Range("A1").Value
End If
If Range("A2").Value > Range("B2").Value Then
Range("B2").Value =3D Range("A2").Value
End If
If Range("A3").Value > Range("B3").Value Then
Range("B3").Value =3D Range("A3").Value
End If
End Sub
Mais c'est tr=E8s lourd =E0 =E9crire et pas optimis=E9.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour alesiom,
On Error Resume Next For i = 1 To Range("A65536").End(xlUp).Row If Range("A" & i).Value > Range("B" & i).Value Then Range("B" & i).Value = Range("A" & i).Value End If Next End Sub
isabelle
Bonjour,
Je serais très reconnaissant si qqn pouvait m'aider à résoudre ce petit travail d'Excel avec Worksheet Calculate()
Prenons la feuil1: ------------------------
En colonne A : j'ai des nombres qui varient en provenance d'une autre application. (ce n'est pas l'utilisateur qui les change)
En colonne B : je souhaiterais conserver le maximum pris par les valeurs de la colonne A.
J'ai essayé la syntaxe ci-dessous mais le problème est qu'Excel copie toutes les valeurs des colonne A vers la colonne B et non cellule par cellule.
Merci beaucoup par avance !
Private Sub Worksheet_Calculate() On Error Resume Next If Range("A:A").Value > Range("B:B").Value Then Range("B:B").Value = Range("A:A").Value End If End Sub
Par conséquent une solution simple revient à écrire plein de lignes de code comme :
Private Sub Worksheet_Calculate() On Error Resume Next If Range("A1").Value > Range("B1").Value Then Range("B1").Value = Range("A1").Value End If If Range("A2").Value > Range("B2").Value Then Range("B2").Value = Range("A2").Value End If If Range("A3").Value > Range("B3").Value Then Range("B3").Value = Range("A3").Value End If
End Sub
Mais c'est très lourd à écrire et pas optimisé.
bonjour alesiom,
On Error Resume Next
For i = 1 To Range("A65536").End(xlUp).Row
If Range("A" & i).Value > Range("B" & i).Value Then
Range("B" & i).Value = Range("A" & i).Value
End If
Next
End Sub
isabelle
Bonjour,
Je serais très reconnaissant si qqn pouvait m'aider à résoudre ce
petit travail d'Excel avec Worksheet Calculate()
Prenons la feuil1:
------------------------
En colonne A : j'ai des nombres qui varient en provenance d'une autre
application. (ce n'est pas l'utilisateur qui les change)
En colonne B : je souhaiterais conserver le maximum pris par les
valeurs de la colonne A.
J'ai essayé la syntaxe ci-dessous mais le problème est qu'Excel copie
toutes les valeurs des colonne A vers la colonne B et non cellule par
cellule.
Merci beaucoup par avance !
Private Sub Worksheet_Calculate()
On Error Resume Next
If Range("A:A").Value > Range("B:B").Value Then
Range("B:B").Value = Range("A:A").Value
End If
End Sub
Par conséquent une solution simple revient à écrire plein de lignes
de code comme :
Private Sub Worksheet_Calculate()
On Error Resume Next
If Range("A1").Value > Range("B1").Value Then
Range("B1").Value = Range("A1").Value
End If
If Range("A2").Value > Range("B2").Value Then
Range("B2").Value = Range("A2").Value
End If
If Range("A3").Value > Range("B3").Value Then
Range("B3").Value = Range("A3").Value
End If
On Error Resume Next For i = 1 To Range("A65536").End(xlUp).Row If Range("A" & i).Value > Range("B" & i).Value Then Range("B" & i).Value = Range("A" & i).Value End If Next End Sub
isabelle
Bonjour,
Je serais très reconnaissant si qqn pouvait m'aider à résoudre ce petit travail d'Excel avec Worksheet Calculate()
Prenons la feuil1: ------------------------
En colonne A : j'ai des nombres qui varient en provenance d'une autre application. (ce n'est pas l'utilisateur qui les change)
En colonne B : je souhaiterais conserver le maximum pris par les valeurs de la colonne A.
J'ai essayé la syntaxe ci-dessous mais le problème est qu'Excel copie toutes les valeurs des colonne A vers la colonne B et non cellule par cellule.
Merci beaucoup par avance !
Private Sub Worksheet_Calculate() On Error Resume Next If Range("A:A").Value > Range("B:B").Value Then Range("B:B").Value = Range("A:A").Value End If End Sub
Par conséquent une solution simple revient à écrire plein de lignes de code comme :
Private Sub Worksheet_Calculate() On Error Resume Next If Range("A1").Value > Range("B1").Value Then Range("B1").Value = Range("A1").Value End If If Range("A2").Value > Range("B2").Value Then Range("B2").Value = Range("A2").Value End If If Range("A3").Value > Range("B3").Value Then Range("B3").Value = Range("A3").Value End If