trouver le code qui trouve par OFFSET la ligne 4 dans un tableau sur un onglet

gilles72

XLDnaute Junior
bonjour à tous,
sur xl2010, mais utilisable sur 2033 ou 2007
sur un onglet j'ai un tableau d'une vingtaine de lignes et de colonnes
je balaie ces lignes, et selon que je trouve un "X" dans les cellules, je saisis un onglet, le recopie et le renomme.
Le nom se trouve en partie dans la ligne 4.
Je le trouve par OFFSET, mais à chaque ligne le N° qui définit la ligne doit changer
Comment lui dire que c'est toujours dans la ligne 4?
ci joint un fichier ou mes balbutiements se trouvent sur le module ESSAI
Merci de vos lumières, et de votre aide
Gilles72
 

Pièces jointes

  • test plan de controle.xls
    638.5 KB · Affichages: 51

Gorfael

XLDnaute Barbatruc
Re : trouver le code qui trouve par OFFSET la ligne 4 dans un tableau sur un onglet

Salut gilles72 et le forum
Pas clair ton problème
Je le trouve par OFFSET, mais à chaque ligne le N° qui définit la ligne doit changer
Comment lui dire que c'est toujours dans la ligne 4?
Qu'est-ce qu'un offset vient faire ici ? Si une partie est en ligne 4, pourquoi chercher un Offset ??? Autant mettre directement la ligne 4 !
A+
 

Excel-lent

XLDnaute Barbatruc
Re : trouver le code qui trouve par OFFSET la ligne 4 dans un tableau sur un onglet

Bonsoir Gilles72, Gorfael,

Je partage le point de vue de Gorfael.

Au sujet de ta macro, si tu le souhaite tu peux remplacer ces nombreuses lignes :
If Target.Column = 7 Or Target.Column = 9 Or Target.Column = 11 Or Target.Column = 13 _
Or Target.Column = 15 Or Target.Column = 17 Or Target.Column = 19 Or Target.Column = 21 _
Or Target.Column = 23 Or Target.Column = 25 Or Target.Column = 27 Or Target.Column = 29 _
Or Target.Column = 31 Or Target.Column = 33 Or Target.Column = 35 Or Target.Column = 37 _
Or Target.Column = 39 Or Target.Column = 41 Or Target.Column = 43 Or Target.Column = 45 _
Or Target.Column = 47 Or Target.Column = 49 Or Target.Column = 51 Or Target.Column = 53 _
Or Target.Column = 55 Then

Par cette unique ligne :
If Target.Column >= 7 And Target.Column <= 55 And Target.Column / 2 - Int(Target.Column / 2) <> 0 Then

Ce qui signifie : la colonne sélectionnée doit être un nombre impaire inclus entre 7 et 55.

Bonne fin de soirée
 
Dernière édition:

gilles72

XLDnaute Junior
Re : trouver le code qui trouve par OFFSET la ligne 4 dans un tableau sur un onglet

Bonjour Gorfael et excelent...
Vu l'heure des réponses, je vous remercie d'autant plus ...
Effectivement, je me doutais que ce serait nébuleux..!
je détaille l'objectif:
si j'ai X en F5, la macro va voir le mot placé en ligne D5.
Ce mot correspond à des noms d'onglets (ici: plateforme)
Elle selectionne l'onglet plateforme, le recopie, et le renomme.
Pour le renommer, il commence par le mot concerné (ici plateforme), et y ajoute le texte situé en ligne 3, dans la même colonne (ici: caniveaux).
La macro balaie ensuite les autres cellules sur la ligne 5, pour faire la même chose
puis attaque les cellules de la ligne 6
...et c'est le sujet de la question:
pour nommer les onglets successivement, il va chercher en ligne 3 dans les colonnes balayées.
Je pensais le faire par OFFSET, à partir de chaque cellule balayée, mais à chaque fois que je descend d'1 ligne, l'adresse de la ligne descend aussi
c'est pourquoi je me demande quel code mettre derriere OFFSET pourc que ce soit toujours la ligne 3 qui soit selectionnée.
par ex:
ActiveSheet.Range("A4").Value = cell.Offset(-2, 0)
Quoi mettre à la place de -2 pour qu'il reconnaisse la ligne 3 ? (j'ai da'illeurs fait une erreur dans le précédent post, en mettant ligne 4)

Sinon, merci, excelent pour le tuyau... c'est effectivement bien plus simple
excuse mon ignarité!!
j'espère que c'est un peu plus clair
merci encore. Bon dimanche
gilles72
 

Discussions similaires

Statistiques des forums

Discussions
312 359
Messages
2 087 587
Membres
103 602
dernier inscrit
nuky_nuke