XL 2019 variable

MOmichel

XLDnaute Junior
bonjour a toute la communauté


j'écris une procédure "Sub importfichierSappro()" et je n'arrive pas a ce que cette variable ResultX = Cells(f, "d") prenne la valeur de la cellule désignée (qui peu etre du texte ou du numérique )

quelqu'un peut m'aider en me disant ou je fais l'erreur ou me donner une solution

merci a tous
 

Pièces jointes

  • essai1.xlsm
    161.7 KB · Affichages: 16
Solution
Bonjour @MOmichel, @fhoest

Pour compléter ce que dis @fhoest
Et si tu veux aller de la 1ere ligne à la dernière ligne il faut mettre la boucle dans le bon sens
VB:
        For f = Xinit To xderlig         'Boucle de la premiere ligne  à derniere ligne
            ResultX = Cells(f, "d")      ' variable a rechercher
        Next f
sinon tu vas de la dernière ligne à la 1ere comme l'as écrit @fhoest

Dans un sens comme dans un autre ResultX prends tour à tour toutes les valeurs mais après tu en fait quoi ?

*Evite les select dans tous les sens.....qui sont à proscrire chaque fois que c'est possible.

Cette partie de ton code :
Code:
'      Sheets("base").Activate
'      Rows("5:5").Select
'      Selection.Delete...

fhoest

XLDnaute Accro
OK, je préfère mettre les noms correctement je suis étonné que cela fonctionne en minuscule.
par contre à essayer:
Code:
  For f = xderlig To Xinit Step -1     'Boucle de la premiere ligne  à derniere ligne
         ResultX = Cells(f, "d")      ' variable a rechercher    
Next f
comme tu vas du plus grand au plus petit la boucle doit avoir un pas négatif.
A+
 

Phil69970

XLDnaute Barbatruc
Bonjour @MOmichel, @fhoest

Pour compléter ce que dis @fhoest
Et si tu veux aller de la 1ere ligne à la dernière ligne il faut mettre la boucle dans le bon sens
VB:
        For f = Xinit To xderlig         'Boucle de la premiere ligne  à derniere ligne
            ResultX = Cells(f, "d")      ' variable a rechercher
        Next f
sinon tu vas de la dernière ligne à la 1ere comme l'as écrit @fhoest

Dans un sens comme dans un autre ResultX prends tour à tour toutes les valeurs mais après tu en fait quoi ?

*Evite les select dans tous les sens.....qui sont à proscrire chaque fois que c'est possible.

Cette partie de ton code :
Code:
'      Sheets("base").Activate
'      Rows("5:5").Select
'      Selection.Delete Shift:=xlUp

Peut être remplacé par :
Code:
      Sheets("base").Rows("5:5").Delete Shift:=xlUp

Et celle ci :
Code:
'      Range("B5").Select
'      ActiveCell.CurrentRegion.Select
'      Selection.Copy
'      Worksheets("SAppro").Activate
'      ActiveSheet.Paste

Par cela :
Code:
      Sheets("base").Range("B5").CurrentRegion.Copy
      Worksheets("SAppro").Paste


Ce qui donne :
Code:
      Sheets("base").Rows("5:5").Delete Shift:=xlUp

      Sheets("base").Range("B5").CurrentRegion.Copy
      Worksheets("SAppro").Paste
C'est plus simple, non. ;)

Et tu peux faire pareil pour la "Sub importfichierlisteàservir()"

@fhoest ==> Worksheets("sappro") ou Worksheets("SAPPRO") fonctionne dans les 2 cas mais c'est vrai qu'il est toujours préférable d'écrire de la même manière... ;)

@Phil69970
 
Dernière édition:

Phil69970

XLDnaute Barbatruc
Bonjour @MOmichel

Content que nos réponses te conviennent, mais la logique est que tu valides la solution que tu as retenue et non que tu t'auto-valide la solution sauf si tu as retenue une autre solution bien sur.
En cas de réponses complémentaires la logique est de valider celle qui correspond le mieux à ta problématique et à préciser par exemple voila la solution que j'ai retenue qui est un mix de la solution X et Y....

Valider une solution n'est pas obligatoire mais c'est un plus pour la communauté et me semble assez logique que tu indiques à tout le monde la solution que tu as retenue et même si c'est une autre solution trouvé ailleurs ..... et qui peut aider quelqu'un d'autre....

La validation d'une solution permet à un futur lecteur qui a le même problème de voir tout de suite quelle solution que le demandeur à retenue par rapport à la question posé. Et accessoirement permet aux autres membres de savoir qu'une solution a été trouvée.

Ici il n'y a eu que quelques posts donc c'est assez facile de voir le résultat de ta question mais quand il y a 3 pages de réponses c'est assez difficile pour le lecteur de savoir la réponse retenue en faisant comme tu fait.

Donc si tu retiens la solution de @fhoest c'est à lui que reviens la validation !!!

@Phil69970
 

Discussions similaires

Réponses
5
Affichages
165
Réponses
17
Affichages
691
Réponses
3
Affichages
274

Statistiques des forums

Discussions
311 720
Messages
2 081 897
Membres
101 833
dernier inscrit
sandra25