Problème de copier coller sous vba:comment réduire la taille de la sél - VB/VBA/VBS - Programmation
Marsh Posté le 05-12-2006 à 07:52:29
Bonjour,
Pour faire fonctionner sans critiquer l'ensemble de la construction:
Sub Montre_utilisateurs_en_attente_validation()
Sheets("data" ).Activate
i = 1
NombreLignes = 255
While i < NombreLignes + 1
If Cells(i, 8) = "Non" Then
Meslignes = Meslignes & "A" & i & ":H" & i & ","
End If
i = i + 1
Wend
aMeslignes = Left(Meslignes, Len(Meslignes) - 1)
'Meslignes = Range(An, Hn).Select
'Sheets("Data" ).Range(Meslignes).Select
Sheets("Data" ).Range(Meslignes).Copy
Sheets("Valider_Utilisateur" ).Select
Range("A3" ).Select
Do
If ActiveCell = "" Then
GoTo copiercoller
End If
If ActiveCell <> "" Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until ActiveCell.Value = ""
copiercoller:
Selection.PasteSpecial Paste:=xlPasteValues
' Montre_utilisateurs_en_attente_validation Macro
' Macro enregistrée le 04/12/2006 par GK
'
'
End Sub
Cordialement
Marsh Posté le 05-12-2006 à 19:34:09
Merci Beaucoup!
Après quelques ajustements ça a été parfaitement!
Votre aise a été précieuse!
Marsh Posté le 05-12-2006 à 22:04:33
Cependant, vous pouvez critiquer l'ensemble de la construction!
Je vous encourage à le faire!
Je souhaite progresser et mieux coprendre!
Excusez moi si cette construction est impropre mais j'ai fait ce que j'ai pu avec mes faibles moyens.
Donc critiquez! cela ne peut que me faire progresser!
Marsh Posté le 05-12-2006 à 00:00:58
Bonjour à tous et à toutes!
Jeune newby sur excel je me suis mis récemment à la programation et je viens de tomber sur un os:
Je souhaite créer une macro qui recherche un mot dans une colonne, séléctionne la ligne où ce mot apparaît,
puis réduit la séléction de cette ligne en n'en gardant que les cellules An jusqu'à Hn, puis les copie dans une autre feuille. Après de nombreuses heures de recherche sur le web et ailleurs j'ai tenté ceci:
Sub Montre_utilisateurs_en_attente_validation()
i = 1
NombreLignes = 255
While i < NombreLignes + 1
If Cells(i, 8) = "Non" Then
Meslignes = Meslignes & i & ":" & i & ","
End If
i = i + 1
Wend
Meslignes = Left(Meslignes, Len(Meslignes) - 1)
Meslignes = Range(An, Hn).Select
Sheets("Data" ).Range(Meslignes).Select
Sheets("Data" ).Range(Meslignes).Copy
Sheets("Valider_Utilisateur" ).Select
Range("A3" ).Select
Do
If ActiveCell = "" Then
GoTo copiercoller
End If
If ActiveCell <> "" Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until ActiveCell.Value = ""
copiercoller:
Selection.PasteSpecial Paste:=xlPasteValues
' Montre_utilisateurs_en_attente_validation Macro
' Macro enregistrée le 04/12/2006 par GK
'
'
End Sub
Je vois bien que tout réussit sauf la réduction à la plage de données souhaitées..
Merci par avance de votre aide et désolé de vous embêtez avec quelque chose de si simple!
Bonne soirée