• Initiateur de la discussion Initiateur de la discussion gueval
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gueval

XLDnaute Junior
Bonjour a tout le Forum,

Ceci est ma première participation, j'espère ne pas faire de gaffe et respecter les codes de ce forum😕
Voici mon problème :
j'ai récupéré une macro ici même pour créer un sommaire de feuille avec lien hypertexte ( grand merci a son créateur ) mais je souhairai que devant chaque nom de feuille listé d'autres informations apparaissent qui sont contenues dans un autre onglet du classeur.
De même cerise sur le gateau, avez vous une solution pour qu'une fois que j'ai renseigné une nouvelle ligne de la feuille "donné..." une feuille se créé selon la feuille modèle via un coche ou un bouton à secletionner.😀
avec le bon nom et maj du sommaire.
je vais essayer de joindre le fichier.
Dans l'attente de votre aide je vous salue
 

Pièces jointes

Re : Sommaire feuille

Bonsoir,

en colonnes H à J :

=SI(ESTERREUR(INDIRECT("'"&$A10&"'!AA2"));"";INDIRECT("'"&$A10&"'!AA2"))
=SI(ESTERREUR(INDIRECT("'"&$A10&"'!AA3"));"";INDIRECT("'"&$A10&"'!AA3"))
=SI(ESTERREUR(INDIRECT("'"&$A10&"'!AA4"));"";INDIRECT("'"&$A10&"'!AA4"))

pour le reste, ton recherchev fonctionne, non?

A+
 
Re : Sommaire feuille

Bonsoir

En rajoutant ce morceau de code dans la macro et en le complétant on doit obtenir le résultat
.......................
DebProc:
nSht.Name = "Sommaire"
nomfeuille1 = nSht.Name
.........................
TextToDisplay:="Lien vers " & Sheets(i).Name ' ligne existante

j = 3
If IsNumeric(Mid((Sheets(i).Name), 1, 5)) Then
'recherche de la ligne dans "Donnée Last version"
'For j1 = 1 To Sheets("Donnée Last version").Range("A65536").End(xlUp).Row
( je n'ai pas vu le lien logique entre le nom de l'onglet et les infos de cette feuille )

'Next j1

Sheets(nomfeuille1).Cells(i, j) = Sheets(i).Name: j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets(Sheets(i).Name).Range("G3"): j = j + 1
' a compléter en indiquant la cellule contenant les données
Sheets(nomfeuille1).Cells(i, j) = Sheets(Sheets(i).Name).Range("à modifier"): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets(Sheets(i).Name).Range("à modifier"): j = j + 1
.........


End If

Bon courage

JP
 
Re : Sommaire feuille

jp14 à dit:
Bonsoir

En rajoutant ce morceau de code dans la macro et en le complétant on doit obtenir le résultat
.......................
DebProc:
nSht.Name = "Sommaire"
nomfeuille1 = nSht.Name
.........................
TextToDisplay:="Lien vers " & Sheets(i).Name ' ligne existante

j = 3
If IsNumeric(Mid((Sheets(i).Name), 1, 5)) Then
'recherche de la ligne dans "Donnée Last version"
'For j1 = 1 To Sheets("Donnée Last version").Range("A65536").End(xlUp).Row
( je n'ai pas vu le lien logique entre le nom de l'onglet et les infos de cette feuille )

'Next j1

Sheets(nomfeuille1).Cells(i, j) = Sheets(i).Name: j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets(Sheets(i).Name).Range("G3"): j = j + 1
' a compléter en indiquant la cellule contenant les données
Sheets(nomfeuille1).Cells(i, j) = Sheets(Sheets(i).Name).Range("à modifier"): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets(Sheets(i).Name).Range("à modifier"): j = j + 1
.........


End If

Bon courage

JP
Salut,

Merci pour le code, il répond à de mes problème, par contre il boucle sans cesse for j1 sans repasser en next i ( je crois que je ne suis pas claire )
Ce que je souhaitait pour répondre à ton interrogation : ( je n'ai pas vu le lien logique entre le nom de l'onglet et les infos de cette feuille )
Le nom de l'onglet correspond a la concatenation du code fournisseur et spécifique ce qui identifie le produit de façon unique, doncà partir de ce code je veut récupérer dans le sommaire pour un nom d'onglet certaine valeur qui ne se trouve que sur la feuille " donnée last version " ex : colonne g; k; n
Merci si vous pouvez encore m'aider, en attendant je vais m'appuyer sur ton code pour tenter de trouver.
bon week end
 
Re : Sommaire feuille

ODVJ à dit:
Bonsoir,

en colonnes H à J :

=SI(ESTERREUR(INDIRECT("'"&$A10&"'!AA2"));"";INDIRECT("'"&$A10&"'!AA2"))
=SI(ESTERREUR(INDIRECT("'"&$A10&"'!AA3"));"";INDIRECT("'"&$A10&"'!AA3"))
=SI(ESTERREUR(INDIRECT("'"&$A10&"'!AA4"));"";INDIRECT("'"&$A10&"'!AA4"))

pour le reste, ton recherchev fonctionne, non?

A+
merci pour ces formules, je ne connaissais que recherchev.
Bon week end
 
Re : Sommaire feuille

Bonsoir

Les colonnes étant cachées je n'avais pas vu les données

Ci dessous la macro modifiée

j = 3

If IsNumeric(Mid((Sheets(i).Name), 1, 5)) Then ' si l'onglet à 5 carractères numériques
'recherche de la ligne dans "Donnée Last version"


For j1 = 4 To Sheets("Donnée Last version").Range("B65536").End(xlUp).Row
data1 = Sheets(i).Name 'onglet
data2 = Sheets("Donnée Last version").Range("B" & j1) ' valeur cherchée dans l'onglet
If Len(data2) > 0 And Len(data1) > 0 Then ' pour éviter des longueurs nulle ( voir l'aide de InStr )

If InStr(1, data1, data2, 1) > 0 Then ' si le nombre est présent dans l'onglet
Sheets(nomfeuille1).Cells(i, j) = Sheets("Donnée Last version").Range("F" & j1): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets("Donnée Last version").Range("H" & j1): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets("Donnée Last version").Range("J" & j1): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets("Donnée Last version").Range("K" & j1): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets("Donnée Last version").Range("N" & j1): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets("Donnée Last version").Range("K" & j1): j = j + 1
Exit For
End If

End If

Next j1


'Sheets(nomfeuille1).Cells(i, j) = Sheets(i).Name: j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets(Sheets(i).Name).Range("AA2"): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets(Sheets(i).Name).Range("AA3"): j = j + 1
' a compléter en indiquant la cellule contenant les données
'Sheets(nomfeuille1).Cells(i, j) = Sheets(Sheets(i).Name).Range("G3"): j = j + 1


End If

A rajouter en dernière ligne
Sheets("Sommaire").Columns("A:M").Columns.AutoFit


Bon courage

JP
 
Re : Sommaire feuille

jp14 à dit:
Bonsoir

Les colonnes étant cachées je n'avais pas vu les données

Ci dessous la macro modifiée

j = 3

If IsNumeric(Mid((Sheets(i).Name), 1, 5)) Then ' si l'onglet à 5 carractères numériques
'recherche de la ligne dans "Donnée Last version"


For j1 = 4 To Sheets("Donnée Last version").Range("B65536").End(xlUp).Row
data1 = Sheets(i).Name 'onglet
data2 = Sheets("Donnée Last version").Range("B" & j1) ' valeur cherchée dans l'onglet
If Len(data2) > 0 And Len(data1) > 0 Then ' pour éviter des longueurs nulle ( voir l'aide de InStr )

If InStr(1, data1, data2, 1) > 0 Then ' si le nombre est présent dans l'onglet
Sheets(nomfeuille1).Cells(i, j) = Sheets("Donnée Last version").Range("F" & j1): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets("Donnée Last version").Range("H" & j1): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets("Donnée Last version").Range("J" & j1): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets("Donnée Last version").Range("K" & j1): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets("Donnée Last version").Range("N" & j1): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets("Donnée Last version").Range("K" & j1): j = j + 1
Exit For
End If

End If

Next j1


'Sheets(nomfeuille1).Cells(i, j) = Sheets(i).Name: j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets(Sheets(i).Name).Range("AA2"): j = j + 1
Sheets(nomfeuille1).Cells(i, j) = Sheets(Sheets(i).Name).Range("AA3"): j = j + 1
' a compléter en indiquant la cellule contenant les données
'Sheets(nomfeuille1).Cells(i, j) = Sheets(Sheets(i).Name).Range("G3"): j = j + 1


End If

A rajouter en dernière ligne
Sheets("Sommaire").Columns("A:M").Columns.AutoFit


Bon courage

JP
Ouf !!! que de travail pour réussir à placer ton code dans la macro initiale ( je ne suis pas doué ) mais le résultat est pile poil ce que j'attendais.
Et cela juste avant de reprendre la semaine ou je dois boucler ce dossier, quel timing!
Grand merci à toi jp14
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

L
Réponses
1
Affichages
1 K
L
Réponses
3
Affichages
638
C
Réponses
1
Affichages
1 K
Cattleya97
C
A
Réponses
2
Affichages
2 K
agathe marcadon
A
F
Réponses
3
Affichages
968
FLOW312020
F
U
Réponses
4
Affichages
808
Retour