XL 2010 Adressage efface cellule aberrant !!

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
A nouveau soucis avec un fichier en VBA
Au niveau "traçage" des variables c'est correcte SAUF que le résultat est erroné
Pour tester > Sub dans le module1 : entrez un "VR xx" et normalement j'efface les cellules en dessous
Exemple : j'entre VR03 , dites moi si vous effacez bien E3:E10 ???
Le hic chez moi : avec un Lg =3 et col=5 ça efface 30 au lieu de VPOY en jaune ??????? on est en Lg=4
idem pour autres exemples !
Donc je demande le test chez vous , sachant que ce bout de fichier ( ci joint en copier/coller) fonctionnait normalement dans le fichier entier ce matin avant ajout de code ???
 

Pièces jointes

  • Test_Adressage.xlsm
    20.9 KB · Affichages: 16

Staple1600

XLDnaute Barbatruc
Bonjour le fil,

Juste de passage pour un complément d'information
VB:
Sub StrangeThings()
Range("C3:F5").Merge
MsgBox Range("C3").MergeArea.Address
MsgBox Range("C3").MergeArea.Cells(5).Address
MsgBox Range("C3").MergeArea.Range("A1").Address 'ca peut surprendre
MsgBox Range("C3").MergeArea.Cells(1).Address
MsgBox Range("C3").MergeArea.Range("C1").Address 'là on est moins surpris ;-) (voir plus haut)
MsgBox Range("C3").MergeArea.Range("C3").Address 'là on a compris le truc
End Sub
A tester évidemment sur une feuille à qui on n'a jamais conter fleurette.
 

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour , Slt JM
oui le Range("A1") euh ??? ; mon avis sans savoir mais par déduction : le A1 est hors zone donc par défaut ça donne la cel 1 > C3 , j'ai faux ??
Sinon de toute façon plus de MERGE dans le fichier qui servira
Sinon peux tu expliquer pourquoi le fait de changer A2:W40 en A1:W40 fonctionne ? les .Address du résultat de Find sont en général et pas spécifique au bloc ?? c'est la 1ere fois que j'utilise cette méthode !!
Bon là je reprends tout , cela va mieux
Mais bon le WE dernier , suite à écriture en VBA ( et pas avec fichier xlsx ) j'avais Excel qui partait direct en RTT sans prévenir !!😄 Après analyse, il y avait VBE7.dll corrompu !! donc cette semaine j'ai cherché à savoir si c'était mon code ou encore Excel ? car j'avais des soucis avec d'autres anciens fichiers
 

TooFatBoy

XLDnaute Barbatruc
Sinon peux tu expliquer pourquoi le fait de changer A2:W40 en A1:W40 fonctionne ? les .Address du résultat de Find sont en général et pas spécifique au bloc ?? c'est la 1ere fois que j'utilise cette méthode !!
C'est ce que nous avons expliqué plus haut, mapomme et moi :
- utilisation du point qui est un adressage relatif à la zone du With,
- pas d'utilisation du point qui est un adressage absolu, c'est-à-dire relatif à la feuille.
 

herve62

XLDnaute Barbatruc
Supporter XLD
utilisation du point qui est un adressage relatif à la zone du With,
- pas d'utilisation du point qui est un adressage absolu, c'est-à-dire relatif à la feuille.
Non désolé !! ça je sais ; Moi je cherche à savoir le plantage
Sur le - ClearContents
- la bonne valeur de Lg & col ( c'est affiché CLAIR en debug) comme cells( 3,5 ) et qui efface cells( 4,5)
 

TooFatBoy

XLDnaute Barbatruc
- la bonne valeur de Lg & col ( c'est affiché CLAIR en debug) comme cells( 3,5 ) et qui efface cells( 4,5)
Je n'ai pas constaté ce problème chez moi (ça efface Cells(4,6) chez moi) donc je croyais que tu parlais du problème de décalage de l'adressage.

Mais effectivement, ce n'est pas du tout la même chose ici, puisque ça change carrément la taille de ta zone ciblée. :oops:
 
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
Donc c'est bien que je dis depuis le DEBUT !! je me casse la tête sur un Pb juste lié à mon PC , dejà chez DID25 cela fonctionnait au début ,mais plus chez moi ?? donc pas de Pb de code !!!
Ensuite comme ce matin , Les PB d"hier soir ....disparu ???
Mon Excel 2010 doit avoir un soucis et je pense évoluer
 

TooFatBoy

XLDnaute Barbatruc
Donc c'est bien que je dis depuis le DEBUT !! je me casse la tête sur un Pb juste lié à mon PC , dejà chez DID25 cela fonctionnait au début ,mais plus chez moi ?? donc pas de Pb de code !!!
Au départ il y avait un "pb de code" qui ne prenait pas encore en compte, d'une part le décalage dû au With, et d'autre part le fait qu'il y a des cellules fusionnées, et j'avoue que j'en étais resté là sans comprendre que même après modification du code, tu avais un autre problème sur ton PC. 😕
 

Staple1600

XLDnaute Barbatruc
Bonsoir

Sauf erreur on efface ce qu'il faut
(j'ai tester la version d'origine)

Ci-dessous l'effacement à ma sauce
VB:
Private Sub BtnEffacer()
Dim Ry As Range
With Worksheets("Entrée").Range("A2:W40")
    Set Ry = .Find(CStr(InputBox("rayon")), LookIn:=xlValues)
    If Ry Is Nothing Then Exit Sub
    Ry.Offset(1).Resize(8) = Empty
End With
End Sub
 

Staple1600

XLDnaute Barbatruc
:eek:OMYGOD!:eek:

Mapomme
J'avions point vu ton message#4
J'ai honte
Je publie quand même ma correction, mais le code de mapomme du message#4
est plus mieux
Enrichi (BBcode):
Private Sub BtnEffacer()
Dim Ry As Range, KOI
KOI = InputBox("rayon")
If KOI <> "" Then
With Worksheets("Entrée").Range("A2:W40")
    Set Ry = .Find(CStr(KOI), LookIn:=xlValues)
    If Ry Is Nothing Then Exit Sub
    Ry.Offset(1).Resize(8) = Empty
End With
Else
MsgBox "Référence rayon vide!", vbCritical
Exit Sub
End If
End Sub
NB: Normalement avec ce formatage, personne ne devrait utiliser mon code ;)
 

TooFatBoy

XLDnaute Barbatruc
Bonsoir

Sauf erreur on efface ce qu'il faut
(j'ai tester la version d'origine)

Ci-dessous l'effacement à ma sauce
VB:
Private Sub BtnEffacer()
Dim Ry As Range
With Worksheets("Entrée").Range("A2:W40")
    Set Ry = .Find(CStr(InputBox("rayon")), LookIn:=xlValues)
    If Ry Is Nothing Then Exit Sub
    Ry.Offset(1).Resize(8) = Empty
End With
End Sub
C'est aussi ce que j'avais fait au départ, mais chez moi ça n'effaçait pas la bonne zone : ça effaçait les deux colonnes du casier VR... 🤪
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir Marcel32

Comme je le disais, pour effacer le contenu de cellules, je préfère le faire à la mimine.
(Comme cela en cas d'erreur, je peux toujours me faire un petit CTRL+Z de derrière les fagots ;))

Si tu croises Mapomme, dis-lui bien qu'il se déchafouine et que je suis désolé ne pas avoir bien lu le fil depuis le début. ;)
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87