Comment faire shift left

Trinitybarb

XLDnaute Junior
bonjour,

Suite à l'aide de toto, j'ai beaucoup avancé dans ma programmation.

Maintenant je veux autre chose et peut-être que vous pouvez m'aider

voici une ligne de commande :

Range("b19").Select
derligne = Range("D65536").End(xlUp).Row

Range("B19:D" & derligne).SpecialCells(xlCellTypeVisible).Select

Il sélectionne B19 va jusqu'en bas et remonte jusqu'à la première ligne occupé. Par contre je voudrais qu'il fasse également une fois à gauche (Shift flèche vers la gauche). Je dois faire cela car j'ai quelque chose dans la première ligne de b19, c19 mais rien en dessous mais dans la colonne D308 j'ai quelque chose et je veux qu'il remonte jusqu'à D308 mais qu'ensuite je m'en aille sur la sélection B19 à C308. Je ne peux faire range("B19:C308").Select car ma dernière ligne change toujours donc c'est pour cela que je voulais faire après la section (ci-bas) faire shift flèche gauche.

Oufff me suis-je bien exprimé ???

Merci pour votre aide.

bye
 

Paritec

XLDnaute Barbatruc
Re : Comment faire shift left

Bonsoir Trinitybarb, le forum,
bah je suis trop mauvais car moi j'ai pas compris
sauf que tu as en D308 ???
Bref tu remplaces peut-être mais je ne vois pas bien dans ton fichier exemple(je me moque bien sur)
derligne = Range("D65536").End(xlUp).Row par
derligne = Range("C65536").End(xlUp).Row et comme cela tu laisses tranquile le D308
a+
Papou :rolleyes:

PS: si c'est pas ça, un fichier exemple avec ce que tu as et ce que tu veux
 

Trinitybarb

XLDnaute Junior
Re : Comment faire shift left

Je t'ai mis un fichier.

Ce que je veux faire c'est copier B19 et C19 dans les cellules en dessous mais vis-à-vis les données de la colonne D. C'est donc pouquoi je sélectionne B C D jusqu'en bas et ensuite je fais un up vers le haut mais ensuite je voudrais faire SHIFT flèche vers la gauche pour avoir seulement la sélection de B et C
 

Pièces jointes

  • classeur2.xls
    23.5 KB · Affichages: 104
  • classeur2.xls
    23.5 KB · Affichages: 111
  • classeur2.xls
    23.5 KB · Affichages: 103

Trinitybarb

XLDnaute Junior
Re : Comment faire shift left

voici ma programmation complète pour l'instant :

Sub Mode_corr()

Range("b18").Select
derligne = Range("A65536").End(xlUp).Row
Range("B18:C" & derligne).SpecialCells(xlCellTypeVisible).Select

With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.UnMerge

Range("B19:C19").Select
Selection.Copy
Range("B19").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

Range("B19:C19").Select
Selection.Copy

Range("b20").Select
derligne = Range("D65536").End(xlUp).Row

Range("B20:D" & derligne).SpecialCells(xlCellTypeVisible).Select
 

Paritec

XLDnaute Barbatruc
Re : Comment faire shift left

Re Trinitybarb le forum
voilà ton fichier en retour
a+
papou
 

Pièces jointes

  • Copie de classeur3.xls
    32.5 KB · Affichages: 84
  • Copie de classeur3.xls
    32.5 KB · Affichages: 88
  • Copie de classeur3.xls
    32.5 KB · Affichages: 86

Trinitybarb

XLDnaute Junior
Re : Comment faire shift left

J'ai ajouté comme cela ...

Sub Mode_corr()

Range("b17").Select
derligne = Range("A65536").End(xlUp).Row
Range("B17:C" & derligne).SpecialCells(xlCellTypeVisible).Select

With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.UnMerge

Range("B17:C17").Select
Selection.Copy
Range("B18").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

Range("B18:C18").Select
Selection.Copy

Range("b19").Select

Range("B19:C" & Range("D65536").End(xlUp).Row).FillDown


Ca fonctionne pas....
 

Catrice

XLDnaute Barbatruc
Re : Comment faire shift left

Re,

Qu'est ce qui ne fontionne pas exactement ?

Je ne sais pas trop ce que doit faire ta macro.
Mais chez mois ça fontionne en modifiant :
derligne = Range("B65536").End(xlUp).Row

Mais ça supprime la ligne B18:C18

Il faudrait que tu fournisses un avant/apres pour mieux comprendre ce que tu veux faire.
 

Trinitybarb

XLDnaute Junior
Re : Comment faire shift left

Ok voici le fichier original.

Lorsque je clique sur Mode impression, il fusionne mes Q1 ensemble, mes Q2 ensemble etcccc et mes mois ensemble.

Maintenant c'est le mode correction que je veux créer. Je veux défusionner les cellules des colonnes B et C et recopier B17 et C17 dans les cellules d'en dessous vis à vis chaque ligne qu'il y a une donné de la colonne D.

Quand je défusionne, il me met ma donné dans les celulles B17 et C17, il y aura des ajouts et des retraits et c'est pourquoi je ne peux lui dire de sélectionner une zone en particulier.

J'ai dû enlever beaucoup de ligne pour pouvoir vous l'envoyer, il était trop gros mais vous avez l'essentiel.

Merci de votre aide
 

Pièces jointes

  • dossiers en cours1.zip
    34.8 KB · Affichages: 61
  • dossiers en cours1.zip
    34.8 KB · Affichages: 53
  • dossiers en cours1.zip
    34.8 KB · Affichages: 55

Catrice

XLDnaute Barbatruc
Re : Comment faire shift left

Bonsoir,

ci-joint une interpretation de ce que j'ai compris
 

Pièces jointes

  • dossiers en cours1.zip
    19.1 KB · Affichages: 59
  • dossiers en cours1.zip
    19.1 KB · Affichages: 57
  • dossiers en cours1.zip
    19.1 KB · Affichages: 56
Dernière édition:

Trinitybarb

XLDnaute Junior
Re : Comment faire shift left

wow vraiment super. Au début ça ne fonctionnait pas mais je me suis rendu compte que tu avais changer les formules de mes cellules B et C et qui est vraiment mieux.

un gros merci pour ton aide.

P.S. comment fais-tu pour que le bouton devient gris pâle lorsque c'est l'autre qui est fonction ??

merci encore pour ton aide
 

Catrice

XLDnaute Barbatruc
Re : Comment faire shift left

Bonjour,

Pour les boutons, c'est le code qui est dans la Feuil10 qui fait ça :

Code:
Private Sub CommandButton1_Click()
ModeImp
CommandButton1.Enabled = False
CommandButton2.Enabled = True
End Sub

Private Sub CommandButton2_Click()
ModeCorr
CommandButton1.Enabled = True
CommandButton2.Enabled = False
End Sub
 
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : Comment faire shift left

Re,

Ce sont des boutons Visual Basic et non des boutons de formulaires qu'il faut insérer dans ce cas.
Affiche la bonne barre d'outils (Boite à outils controles) avec le clic droit sur les barres.
Ensuite, tu inseres un bouton.
Puis tu double-cliques dessus pour acceder au code.
Enfin, de retour dans la feuille, il faut cliquer sur l'icone "Mode creation" (l'equerre bleue avec le crayon dans la barre visual basic) pour basculer en mode "exploitation"
 

Trinitybarb

XLDnaute Junior
Re : Comment faire shift left

Super ça fonctionne super bien.

J'imagine que dans ta programmation VB pour mode impression et mode correction tu l'as référé à ces deux boutons ??? Comment font ces boutons pour savoir que c'est cette macro qui est référé ???

J'en ai beaucoup des questions mais j'en suis à mes débuts et c'est des choses que je vais avoir besoin dans l'avenir.

Encore merci
 

Discussions similaires