ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 15 To 20
If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then
Range("AZ" & i).Value = Range("BH" & i).Value
End If
For j = 15 To 20
If Columns("BF:BG").Hidden = True Then
If Range("BF" & j).Value <> 0 Then
Range("BB" & j).Value = Range("BF" & j).Value
End If
Mon probleme est que mmoi je veux faire varier i et J
de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes
cellules de haut en bas ou de gauche a droite et impossibilité de mettre une
valeur
je ne peux pas me deplacer d'une cellule a l'autre.
je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536 et
J de 15 à 65536 sans souci
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
poy-poy
Bonjour Jean,
Je n'ai pas trop compri comment ce lance ton code mais si ton événement déclanchateur est le changement de worksheet, je ne connais pas le worksheet_selectionchange. Un Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) dervrait marcher.
Deuxièmement, comme tu n'as pas mis les next, je ne sais pas si ta 2eme boucle est dans la première ou non. Si oui, c'est normal que tu plantes, vu que tu demandes à excel de faire 65521 fois la 2 eme boucle de 65521 opérations (qui en plus sont identiques que i soit éfal à 1( ou à 34567) soit 65521*65521 = 4 293 milliars d'opérations...
Si tu les sépares c'est un peu long ( genre 15 secondes) mais ca passe.
Si tu as fait exprés de lier les boucles parce que d'autres opérations, non montrées utilise dans la boucle j l'élément i, va falloire penser trouver autre chose.
Si ce n'est pas cela, il faudrait que tu remettes le bon code
Cordialement benjamin
bonjour
ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For i = 15 To 20 If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then Range("AZ" & i).Value = Range("BH" & i).Value End If For j = 15 To 20 If Columns("BF:BG").Hidden = True Then If Range("BF" & j).Value <> 0 Then Range("BB" & j).Value = Range("BF" & j).Value End If
Mon probleme est que mmoi je veux faire varier i et J de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes cellules de haut en bas ou de gauche a droite et impossibilité de mettre une valeur je ne peux pas me deplacer d'une cellule a l'autre. je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536 et J de 15 à 65536 sans souci
merci de votre aide
Bonjour Jean,
Je n'ai pas trop compri comment ce lance ton code mais si ton événement
déclanchateur est le changement de worksheet, je ne connais pas le
worksheet_selectionchange. Un Sub Workbook_SheetChange(ByVal Sh As Object,
ByVal Target As Range) dervrait marcher.
Deuxièmement, comme tu n'as pas mis les next, je ne sais pas si ta 2eme
boucle est dans la première ou non.
Si oui, c'est normal que tu plantes, vu que tu demandes à excel de faire
65521 fois la 2 eme boucle de 65521 opérations (qui en plus sont identiques
que i soit éfal à 1( ou à 34567) soit 65521*65521 = 4 293 milliars
d'opérations...
Si tu les sépares c'est un peu long ( genre 15 secondes) mais ca passe.
Si tu as fait exprés de lier les boucles parce que d'autres opérations, non
montrées utilise dans la boucle j l'élément i, va falloire penser trouver
autre chose.
Si ce n'est pas cela, il faudrait que tu remettes le bon code
Cordialement
benjamin
bonjour
ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 15 To 20
If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then
Range("AZ" & i).Value = Range("BH" & i).Value
End If
For j = 15 To 20
If Columns("BF:BG").Hidden = True Then
If Range("BF" & j).Value <> 0 Then
Range("BB" & j).Value = Range("BF" & j).Value
End If
Mon probleme est que mmoi je veux faire varier i et J
de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes
cellules de haut en bas ou de gauche a droite et impossibilité de mettre une
valeur
je ne peux pas me deplacer d'une cellule a l'autre.
je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536 et
J de 15 à 65536 sans souci
Je n'ai pas trop compri comment ce lance ton code mais si ton événement déclanchateur est le changement de worksheet, je ne connais pas le worksheet_selectionchange. Un Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) dervrait marcher.
Deuxièmement, comme tu n'as pas mis les next, je ne sais pas si ta 2eme boucle est dans la première ou non. Si oui, c'est normal que tu plantes, vu que tu demandes à excel de faire 65521 fois la 2 eme boucle de 65521 opérations (qui en plus sont identiques que i soit éfal à 1( ou à 34567) soit 65521*65521 = 4 293 milliars d'opérations...
Si tu les sépares c'est un peu long ( genre 15 secondes) mais ca passe.
Si tu as fait exprés de lier les boucles parce que d'autres opérations, non montrées utilise dans la boucle j l'élément i, va falloire penser trouver autre chose.
Si ce n'est pas cela, il faudrait que tu remettes le bon code
Cordialement benjamin
bonjour
ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For i = 15 To 20 If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then Range("AZ" & i).Value = Range("BH" & i).Value End If For j = 15 To 20 If Columns("BF:BG").Hidden = True Then If Range("BF" & j).Value <> 0 Then Range("BB" & j).Value = Range("BF" & j).Value End If
Mon probleme est que mmoi je veux faire varier i et J de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes cellules de haut en bas ou de gauche a droite et impossibilité de mettre une valeur je ne peux pas me deplacer d'une cellule a l'autre. je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536 et J de 15 à 65536 sans souci
merci de votre aide
Corona
Bonjour Jean, Comme le fait justement remarquer Poy-Poy, si le code que tu places ici est un copier/coller, il manque des 'next' et également des 'end if'. De plus l'opération de 15 à 65536 va prendre un temps fou. (peut-être est-ce un message d'erreur suite à un problème de saturation de mémoire de ton PC) Philippe
"JEAN" a écrit dans le message de news:
bonjour
ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For i = 15 To 20 If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then Range("AZ" & i).Value = Range("BH" & i).Value End If For j = 15 To 20 If Columns("BF:BG").Hidden = True Then If Range("BF" & j).Value <> 0 Then Range("BB" & j).Value = Range("BF" & j).Value End If
Mon probleme est que mmoi je veux faire varier i et J de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes cellules de haut en bas ou de gauche a droite et impossibilité de mettre une
valeur je ne peux pas me deplacer d'une cellule a l'autre. je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536 et
J de 15 à 65536 sans souci
merci de votre aide
Bonjour Jean,
Comme le fait justement remarquer Poy-Poy, si le code que tu places ici
est un copier/coller, il manque des 'next' et également des 'end if'.
De plus l'opération de 15 à 65536 va prendre un temps fou. (peut-être
est-ce un message d'erreur suite à un problème de saturation de mémoire de
ton PC)
Philippe
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de
news:E9AAD859-C12F-4866-9B1F-87A85A420913@microsoft.com...
bonjour
ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 15 To 20
If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then
Range("AZ" & i).Value = Range("BH" & i).Value
End If
For j = 15 To 20
If Columns("BF:BG").Hidden = True Then
If Range("BF" & j).Value <> 0 Then
Range("BB" & j).Value = Range("BF" & j).Value
End If
Mon probleme est que mmoi je veux faire varier i et J
de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes
cellules de haut en bas ou de gauche a droite et impossibilité de mettre
une
valeur
je ne peux pas me deplacer d'une cellule a l'autre.
je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536
et
Bonjour Jean, Comme le fait justement remarquer Poy-Poy, si le code que tu places ici est un copier/coller, il manque des 'next' et également des 'end if'. De plus l'opération de 15 à 65536 va prendre un temps fou. (peut-être est-ce un message d'erreur suite à un problème de saturation de mémoire de ton PC) Philippe
"JEAN" a écrit dans le message de news:
bonjour
ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For i = 15 To 20 If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then Range("AZ" & i).Value = Range("BH" & i).Value End If For j = 15 To 20 If Columns("BF:BG").Hidden = True Then If Range("BF" & j).Value <> 0 Then Range("BB" & j).Value = Range("BF" & j).Value End If
Mon probleme est que mmoi je veux faire varier i et J de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes cellules de haut en bas ou de gauche a droite et impossibilité de mettre une
valeur je ne peux pas me deplacer d'une cellule a l'autre. je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536 et
J de 15 à 65536 sans souci
merci de votre aide
JEAN
comment est c eque je peux transformer ce code svp
je suis débutant qui commence a comprendre merci
"Corona" wrote:
Bonjour Jean, Comme le fait justement remarquer Poy-Poy, si le code que tu places ici est un copier/coller, il manque des 'next' et également des 'end if'. De plus l'opération de 15 à 65536 va prendre un temps fou. (peut-être est-ce un message d'erreur suite à un problème de saturation de mémoire de ton PC) Philippe
"JEAN" a écrit dans le message de news:
bonjour
ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For i = 15 To 20 If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then Range("AZ" & i).Value = Range("BH" & i).Value End If For j = 15 To 20 If Columns("BF:BG").Hidden = True Then If Range("BF" & j).Value <> 0 Then Range("BB" & j).Value = Range("BF" & j).Value End If
Mon probleme est que mmoi je veux faire varier i et J de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes cellules de haut en bas ou de gauche a droite et impossibilité de mettre une
valeur je ne peux pas me deplacer d'une cellule a l'autre. je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536 et
J de 15 à 65536 sans souci
merci de votre aide
comment est c eque je peux transformer ce code
svp
je suis débutant qui commence a comprendre
merci
"Corona" wrote:
Bonjour Jean,
Comme le fait justement remarquer Poy-Poy, si le code que tu places ici
est un copier/coller, il manque des 'next' et également des 'end if'.
De plus l'opération de 15 à 65536 va prendre un temps fou. (peut-être
est-ce un message d'erreur suite à un problème de saturation de mémoire de
ton PC)
Philippe
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de
news:E9AAD859-C12F-4866-9B1F-87A85A420913@microsoft.com...
bonjour
ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 15 To 20
If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then
Range("AZ" & i).Value = Range("BH" & i).Value
End If
For j = 15 To 20
If Columns("BF:BG").Hidden = True Then
If Range("BF" & j).Value <> 0 Then
Range("BB" & j).Value = Range("BF" & j).Value
End If
Mon probleme est que mmoi je veux faire varier i et J
de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes
cellules de haut en bas ou de gauche a droite et impossibilité de mettre
une
valeur
je ne peux pas me deplacer d'une cellule a l'autre.
je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536
et
comment est c eque je peux transformer ce code svp
je suis débutant qui commence a comprendre merci
"Corona" wrote:
Bonjour Jean, Comme le fait justement remarquer Poy-Poy, si le code que tu places ici est un copier/coller, il manque des 'next' et également des 'end if'. De plus l'opération de 15 à 65536 va prendre un temps fou. (peut-être est-ce un message d'erreur suite à un problème de saturation de mémoire de ton PC) Philippe
"JEAN" a écrit dans le message de news:
bonjour
ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For i = 15 To 20 If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then Range("AZ" & i).Value = Range("BH" & i).Value End If For j = 15 To 20 If Columns("BF:BG").Hidden = True Then If Range("BF" & j).Value <> 0 Then Range("BB" & j).Value = Range("BF" & j).Value End If
Mon probleme est que mmoi je veux faire varier i et J de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes cellules de haut en bas ou de gauche a droite et impossibilité de mettre une
valeur je ne peux pas me deplacer d'une cellule a l'autre. je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536 et
J de 15 à 65536 sans souci
merci de votre aide
michdenis
Bonjour Jean,
L'événement que tu as choisi "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" se produit à chaque fois que tu sélectionnes une cellule nouvelle (pointer une nouvelle cellule avec la souris). Cet événement par lui-même ne modifie pas la contenu d'aucune cellule de ta feuille et tu n'as pas besoin de modifier le contenu pour déclencher la macro.
Si tu expliquais ce que tu essaies de réaliser... En quoi le fait de sélectionner une nouvelle cellule devrait engendrer des boucles sur presque toutes les lignes de la feuille de calcul. C'est pratiquement possible de le faire....mais dans la réalité, tu risques de te retrouver avec un classeur très très lent, qui va être occupé à boucler presque tout le temps.
il y a sûrement sûrement d'autres solutions ... mais si tu désires des propositions valables.. il va falloir que tu expliques clairement ce que tu tentes de réussir .
Ceci étant dit, voici comment écrire la macro tel que tu l'as demandée. Tu copies cette dernière dans le module feuille où l'action se déroule.
'----------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 15 To 65536 If Columns("BH:BI").Hidden = True Then If Range("BH" & i).Value <> 0 Then Range("AZ" & i).Value = Range("BH" & i).Value End If End If If Columns("BF:BG").Hidden = True Then If Range("BF" & i).Value <> 0 Then Range("BB" & i).Value = Range("BF" & i).Value End If End If Next
End Sub '-----------------------------
Salutations!
"JEAN" a écrit dans le message de news:
bonjour
ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For i = 15 To 20 If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then Range("AZ" & i).Value = Range("BH" & i).Value End If For j = 15 To 20 If Columns("BF:BG").Hidden = True Then If Range("BF" & j).Value <> 0 Then Range("BB" & j).Value = Range("BF" & j).Value End If
Mon probleme est que mmoi je veux faire varier i et J de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes cellules de haut en bas ou de gauche a droite et impossibilité de mettre une valeur je ne peux pas me deplacer d'une cellule a l'autre. je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536 et J de 15 à 65536 sans souci
merci de votre aide
Bonjour Jean,
L'événement que tu as choisi "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" se produit à chaque fois que
tu sélectionnes une cellule nouvelle (pointer une nouvelle cellule avec la souris). Cet événement par lui-même ne
modifie pas la contenu d'aucune cellule de ta feuille et tu n'as pas besoin de modifier le contenu pour déclencher la
macro.
Si tu expliquais ce que tu essaies de réaliser... En quoi le fait de sélectionner une nouvelle cellule devrait engendrer
des boucles sur presque toutes les lignes de la feuille de calcul. C'est pratiquement possible de le faire....mais dans
la réalité, tu risques de te retrouver avec un classeur très très lent, qui va être occupé à boucler presque tout le
temps.
il y a sûrement sûrement d'autres solutions ... mais si tu désires des propositions valables.. il va falloir que tu
expliques clairement ce que tu tentes de réussir .
Ceci étant dit, voici comment écrire la macro tel que tu l'as demandée.
Tu copies cette dernière dans le module feuille où l'action se déroule.
'-----------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 15 To 65536
If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then
Range("AZ" & i).Value = Range("BH" & i).Value
End If
End If
If Columns("BF:BG").Hidden = True Then
If Range("BF" & i).Value <> 0 Then
Range("BB" & i).Value = Range("BF" & i).Value
End If
End If
Next
End Sub
'-----------------------------
Salutations!
"JEAN" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
E9AAD859-C12F-4866-9B1F-87A85A420913@microsoft.com...
bonjour
ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 15 To 20
If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then
Range("AZ" & i).Value = Range("BH" & i).Value
End If
For j = 15 To 20
If Columns("BF:BG").Hidden = True Then
If Range("BF" & j).Value <> 0 Then
Range("BB" & j).Value = Range("BF" & j).Value
End If
Mon probleme est que mmoi je veux faire varier i et J
de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes
cellules de haut en bas ou de gauche a droite et impossibilité de mettre une
valeur
je ne peux pas me deplacer d'une cellule a l'autre.
je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536 et
J de 15 à 65536 sans souci
L'événement que tu as choisi "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" se produit à chaque fois que tu sélectionnes une cellule nouvelle (pointer une nouvelle cellule avec la souris). Cet événement par lui-même ne modifie pas la contenu d'aucune cellule de ta feuille et tu n'as pas besoin de modifier le contenu pour déclencher la macro.
Si tu expliquais ce que tu essaies de réaliser... En quoi le fait de sélectionner une nouvelle cellule devrait engendrer des boucles sur presque toutes les lignes de la feuille de calcul. C'est pratiquement possible de le faire....mais dans la réalité, tu risques de te retrouver avec un classeur très très lent, qui va être occupé à boucler presque tout le temps.
il y a sûrement sûrement d'autres solutions ... mais si tu désires des propositions valables.. il va falloir que tu expliques clairement ce que tu tentes de réussir .
Ceci étant dit, voici comment écrire la macro tel que tu l'as demandée. Tu copies cette dernière dans le module feuille où l'action se déroule.
'----------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 15 To 65536 If Columns("BH:BI").Hidden = True Then If Range("BH" & i).Value <> 0 Then Range("AZ" & i).Value = Range("BH" & i).Value End If End If If Columns("BF:BG").Hidden = True Then If Range("BF" & i).Value <> 0 Then Range("BB" & i).Value = Range("BF" & i).Value End If End If Next
End Sub '-----------------------------
Salutations!
"JEAN" a écrit dans le message de news:
bonjour
ces deux codes sont dans le module de ma feuille j'ai
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For i = 15 To 20 If Columns("BH:BI").Hidden = True Then
If Range("BH" & i).Value <> 0 Then Range("AZ" & i).Value = Range("BH" & i).Value End If For j = 15 To 20 If Columns("BF:BG").Hidden = True Then If Range("BF" & j).Value <> 0 Then Range("BB" & j).Value = Range("BF" & j).Value End If
Mon probleme est que mmoi je veux faire varier i et J de 15 à 65536
mais quand j'ecrit ca, mon programme bug,et je peux pas deplacer mes cellules de haut en bas ou de gauche a droite et impossibilité de mettre une valeur je ne peux pas me deplacer d'une cellule a l'autre. je suis obigé d'intterompre le programme via echap
quelqu'un aurait une solution pour faire varier ma boucle i de15 à 65536 et J de 15 à 65536 sans souci