Recentrage automatique d'un tableau
Résolu/Fermé
mijean94
Messages postés
394
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
8 novembre 2021
-
6 janv. 2016 à 17:47
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 - 12 janv. 2016 à 21:35
mijean94 Messages postés 394 Date d'inscription mercredi 16 décembre 2015 Statut Membre Dernière intervention 8 novembre 2021 - 12 janv. 2016 à 21:35
A voir également:
- Recentrage automatique d'un tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Message automatique thunderbird - Guide
- Tableau word - Guide
- Réponse automatique outlook - Guide
23 réponses
mijean94
Messages postés
394
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
8 novembre 2021
10
12 janv. 2016 à 21:04
12 janv. 2016 à 21:04
Bonjour,
Merci vraiment à ccm81 qui pas ces solutions m’a fait comprendre qu’il y avait plusieurs possibilités pour arriver à un résultat, et que le chemin pour y aboutir n’était pas toujours visible du premier coup, sans oublier que le plus difficile, pour aboutir à une solution, était de bien définir son besoin pour avoir de l’aide est là ce n’était pas toujours simple à transcrire par l’écriture.
De plus en utilisant la fonction souhaitée on peut se rendre compte de ces erreurs d’explication dans la demande, mais grâce à la perspicacité des intervenants, donc de l’aide apporté par le forum, la solution serait ou bout du chemin.
En plus de l’aide que tu m’as apporté, ccm81, tu m’as donné l’envie d’essayer de comprendre et de faire. Un grand merci à toi et à tous pour votre soutien sur l’avancement d’une application perso.
Comme le disait Aristote, c'est en construisant qu’on devient constructeur…
Merci à tous et à très bientôt pour de nouvelles aventures.
J’ai pris le temps de mettre en frome toutes les infos récoltées pour mon application + un peut de travail perso est voici le code final que j’utilise si cela peut-être utile pour quelqu’un :
-Recherche d’une zone de données
-recadrage de cette zone à une position définie
-zoom sur la zone
-Demande de validation oui ou non
-Si oui copie de la zone dans une autre feuille
-Si non, demande de faire les modifications souhaitées
Sub visu_dessin()
Const celcible = "D3"
Dim Rep As Integer
Dim derlig As Long, dercol As Long, plage As Range
Dim premlig As Long, premcol As Long, nbli As Long, nbco As Long
Set plage = Range(celcible).Resize(1000, 100)
'selection et recentrage de la zone de travail
derlig = plage.Find("*", , , , xlByRows, xlPrevious).Row
premlig = plage.Find("*", , , , xlByRows, xlNext).Row
dercol = plage.Find("*", , , , xlByColumns, xlPrevious).Column
premcol = plage.Find("*", , , , xlByColumns, xlNext).Column
Set plage = Range(Cells(premlig, premcol), Cells(derlig, dercol))
nbli = plage.Rows.Count
nbco = plage.Columns.Count
plage.Cut Destination:=Range(celcible)
'zoom sur la zone de travail
derlig = Range(celcible).Row + nbli - 1
dercol = Range(celcible).Column + nbco - 1
Set plage = Range(Cells(3, 4), Cells(derlig, dercol))
plage.Select
ActiveWindow.zoom = True
Range(celcible).Select
'fenetre de choix de la réponse oui ou non
Rep = MsgBox("le dessin est-il conforme à votre attente ?", vbYesNo + vbQuestion, "VALIDATION DE LA CREATION")
If Rep = vbYes Then
' traitement si la réponse est Oui
derlig = Range(celcible).Row + nbli - 1
dercol = Range(celcible).Column + nbco - 1
Set plage = Range(Cells(3, 4), Cells(derlig, dercol))
plage.Select
plage.Copy
Sheets("dessin").Select
Range("D3").Select
ActiveSheet.Paste
Range("D3").Select
Else
' traitement si la réponse est non
Dim SH As Object
Set SH = CreateObject("WScript.Shell")
SH.Popup "vous pouvez réaliser les modifications soauhaitées", 5, "5 secondes", 48
Set SH = Nothing
End If
End Sub
Cordialement
Merci vraiment à ccm81 qui pas ces solutions m’a fait comprendre qu’il y avait plusieurs possibilités pour arriver à un résultat, et que le chemin pour y aboutir n’était pas toujours visible du premier coup, sans oublier que le plus difficile, pour aboutir à une solution, était de bien définir son besoin pour avoir de l’aide est là ce n’était pas toujours simple à transcrire par l’écriture.
De plus en utilisant la fonction souhaitée on peut se rendre compte de ces erreurs d’explication dans la demande, mais grâce à la perspicacité des intervenants, donc de l’aide apporté par le forum, la solution serait ou bout du chemin.
En plus de l’aide que tu m’as apporté, ccm81, tu m’as donné l’envie d’essayer de comprendre et de faire. Un grand merci à toi et à tous pour votre soutien sur l’avancement d’une application perso.
Comme le disait Aristote, c'est en construisant qu’on devient constructeur…
Merci à tous et à très bientôt pour de nouvelles aventures.
J’ai pris le temps de mettre en frome toutes les infos récoltées pour mon application + un peut de travail perso est voici le code final que j’utilise si cela peut-être utile pour quelqu’un :
-Recherche d’une zone de données
-recadrage de cette zone à une position définie
-zoom sur la zone
-Demande de validation oui ou non
-Si oui copie de la zone dans une autre feuille
-Si non, demande de faire les modifications souhaitées
Sub visu_dessin()
Const celcible = "D3"
Dim Rep As Integer
Dim derlig As Long, dercol As Long, plage As Range
Dim premlig As Long, premcol As Long, nbli As Long, nbco As Long
Set plage = Range(celcible).Resize(1000, 100)
'selection et recentrage de la zone de travail
derlig = plage.Find("*", , , , xlByRows, xlPrevious).Row
premlig = plage.Find("*", , , , xlByRows, xlNext).Row
dercol = plage.Find("*", , , , xlByColumns, xlPrevious).Column
premcol = plage.Find("*", , , , xlByColumns, xlNext).Column
Set plage = Range(Cells(premlig, premcol), Cells(derlig, dercol))
nbli = plage.Rows.Count
nbco = plage.Columns.Count
plage.Cut Destination:=Range(celcible)
'zoom sur la zone de travail
derlig = Range(celcible).Row + nbli - 1
dercol = Range(celcible).Column + nbco - 1
Set plage = Range(Cells(3, 4), Cells(derlig, dercol))
plage.Select
ActiveWindow.zoom = True
Range(celcible).Select
'fenetre de choix de la réponse oui ou non
Rep = MsgBox("le dessin est-il conforme à votre attente ?", vbYesNo + vbQuestion, "VALIDATION DE LA CREATION")
If Rep = vbYes Then
' traitement si la réponse est Oui
derlig = Range(celcible).Row + nbli - 1
dercol = Range(celcible).Column + nbco - 1
Set plage = Range(Cells(3, 4), Cells(derlig, dercol))
plage.Select
plage.Copy
Sheets("dessin").Select
Range("D3").Select
ActiveSheet.Paste
Range("D3").Select
Else
' traitement si la réponse est non
Dim SH As Object
Set SH = CreateObject("WScript.Shell")
SH.Popup "vous pouvez réaliser les modifications soauhaitées", 5, "5 secondes", 48
Set SH = Nothing
End If
End Sub
Cordialement
ccm81
Messages postés
10850
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 mars 2024
2 403
12 janv. 2016 à 21:18
12 janv. 2016 à 21:18
Une fois le code copié ici, tu selectionnes tout le code, puis tu as le choix entre l'icone <> (Code) à côté du S (en haut de cette fenêtre) et l'icone suivante (triangle) qui ajoute la coloration syntaxique propre à chaque langage (chez moi sous ie ne fonctionne pas).
RQ. Les autres icones permettent de mettre le texte en gras (G), italique (I), et souligné (S) et la dernière d'insérer une image
Bonne soirée
RQ. Les autres icones permettent de mettre le texte en gras (G), italique (I), et souligné (S) et la dernière d'insérer une image
Bonne soirée
mijean94
Messages postés
394
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
8 novembre 2021
10
12 janv. 2016 à 21:31
12 janv. 2016 à 21:31
Re,
Ok merci
juste un essai pour voir si ça marche donc j'ai bien compris :
cordialement
Ok merci
juste un essai pour voir si ça marche donc j'ai bien compris :
' traitement si la réponse est Oui
derlig = Range(celcible).Row + nbli - 1
dercol = Range(celcible).Column + nbco - 1
Set plage = Range(Cells(3, 4), Cells(derlig, dercol))
plage.Select
cordialement
mijean94
Messages postés
394
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
8 novembre 2021
10
12 janv. 2016 à 21:35
12 janv. 2016 à 21:35
Re,
ça marche, ouf.
On ne fini jamais d'apprendre, car chaque jour nous apporte des leçons et des expériences qui enrichissent notre vie.
cordialement
ça marche, ouf.
On ne fini jamais d'apprendre, car chaque jour nous apporte des leçons et des expériences qui enrichissent notre vie.
cordialement
12 janv. 2016 à 21:05
comment ajouter le code d'une macro dans une fenêtre comme vous l faite ?
Cordialement